AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.11.2006, 14:50   #21  
blokva is offline
blokva
Пенсионер
Аватар для blokva
SAP
NavAx Club
 
743 / 167 (7) ++++++
Регистрация: 04.06.2003
Адрес: Беларусь
Цитата:
Сообщение от Dronas Посмотреть сообщение
Сдаётся мне, что VRML тоже ActiveX или что-то подобное . . .
Правильно сдается, но этот активчик, бесплатная примочка к IE насколько мне помнится...
__________________
Законы природы еще никто не отменял!
А еще у меня растет 2 внучки!!! Кому интересно подробности тут:
http://www.baby-shine.com/
Старый 23.11.2006, 16:19   #22  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
Цитата:
Сообщение от blokva Посмотреть сообщение
Правильно сдается, но этот активчик, бесплатная примочка к IE насколько мне помнится...
Его всё равно в системе надо регистрировать, а админам эта головная боль нужна?
Старый 26.11.2006, 10:50   #23  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,063 / 158 (8) ++++++
Регистрация: 29.09.2006
Адрес: Тюмень
Очень странно, не удается установить формат пиксела, равный 5. Это значение выдает функция ChoosePixelFormat. С другой стороны, без проблем ставится значение 19, но для этого значения функция glClearColor() не отрабатывает.... Может быть нужно как то по другому передавать структуру? Если есть у кого какие соображения пожалуйста поделитесь... Вот код:
X++:
static void Job2(Args _args)
{
    HWND mainWindow;
    int dc;
    HWND hrc;
    int  nPixelFormat;
    // Загрузка библиотек
    DLL  opengl32 = new DLL("opengl32.dll");
    DLL  glu32    = new DLL("glu32.dll");
    DLL  gdi32    = new DLL("gdi32.dll");
    DLL  user32   = new DLL("user32");
    //
    COMVariant parm5 = new COMVariant();
    // Получение точек входа функций
    DLLFunction wglCreateContext  = new DLLFunction(opengl32, "wglCreateContext");
    DLLFunction wglMakeCurrent    = new DLLFunction(opengl32, "wglMakeCurrent");
    DLLFunction glEnable          = new DLLFunction(opengl32, "glEnable");
    DLLFunction ChoosePixelFormat = new DLLFunction(gdi32,    "ChoosePixelFormat");
    DLLFunction SetPixelFormat    = new DLLFunction(gdi32,    "SetPixelFormat");
    DLLFunction glMatrixMode      = new DLLFunction(opengl32, "glMatrixMode");
    DLLFunction glLoadIdentity    = new DLLFunction(opengl32, "glLoadIdentity");
    DLLFunction gluPerspective    = new DLLFunction(glu32,    "gluPerspective");
    DLLFunction glClearColor      = new DLLFunction(opengl32, "glClearColor");
        COMVariant parm1 = new COMVariant();
        COMVariant parm2 = new COMVariant();
        COMVariant parm3 = new COMVariant();
        COMVariant parm4 = new COMVariant();
    DLLFunction getWindowDC       = new DLLFunction(user32, "GetWindowDC");
    DLLFunction glClear           = new DLLFunction(opengl32, "glClear");
    //
    Binary  pixelFormatDescriptor;
    //
    boolean fInfo = false;
    void initializeRC()
    {
        glEnable.call(2929);
        glEnable.call(2896);
        glEnable.call(16384);
    }
    ;
    // Установка функций
    wglCreateContext.returns(ExtTypes::DWord);
    wglCreateContext.arg(ExtTypes::DWord);
    wglMakeCurrent.returns(ExtTypes::DWord);
    wglMakeCurrent.arg(ExtTypes::DWord, ExtTypes::DWord);
    glEnable.returns(ExtTypes::void);
    glEnable.arg(ExtTypes::DWord);
    ChoosePixelFormat.returns(ExtTypes::DWord);
    ChoosePixelFormat.arg(ExtTypes::DWord, ExtTypes::Pointer);
    SetPixelFormat.returns(ExtTypes::DWord);
    SetPixelFormat.arg(ExtTypes::DWord, ExtTypes::DWord, ExtTypes::Pointer);
    glMatrixMode.returns(ExtTypes::void);
    glMatrixMode.arg(ExtTypes::DWord);
    glLoadIdentity.returns(ExtTypes::void);
    glLoadIdentity.arg();       // возможно нужно добавить
    gluPerspective.returns(ExtTypes::void);
    gluPerspective.arg(ExtTypes::Double, ExtTypes::Double, ExtTypes::Double, ExtTypes::Double);
    glClearColor.returns(ExtTypes::void);
    glClearColor.arg(ExtTypes::DWord, ExtTypes::DWord, ExtTypes::DWord, ExtTypes::DWord);
    parm1.float(1.0);
    parm2.float(0.0);
    parm3.float(0.0);
    parm4.float(1.0);
    getWindowDC.returns(ExtTypes::DWORD);
    getWindowDC.arg(ExtTypes::DWORD);
    glClear.returns(ExtTypes::void);
    glClear.arg(ExtTypes::DWord);
    //
    mainWindow = infolog.hWnd();
    //parm5.int(mainWindow);
    dc  = getWindowDC.call(mainWindow);
   // dc = WinApi::createDC();
    // Формат пиксела
        pixelFormatDescriptor = new Binary(40);
        pixelFormatDescriptor.Word(0, 40);                // nSize
        pixelFormatDescriptor.Word(2, 1);                 // nVersion
        pixelFormatDescriptor.dWord(4, 4 | 32 | 1);     // dwFlags
        pixelFormatDescriptor.byte(8, 0);                 // iPixelType
        pixelFormatDescriptor.byte(9, 24);                // cColorBits
        pixelFormatDescriptor.byte(10, 0);  // cRedBits;
        pixelFormatDescriptor.byte(11, 0);  // cRedShift;
        pixelFormatDescriptor.byte(12, 0);  // cGreenBits;
        pixelFormatDescriptor.byte(13, 0);  // cGreenShift;
        pixelFormatDescriptor.byte(14, 0);  // cBlueBits;
        pixelFormatDescriptor.byte(15, 0);  // cBlueShift;
        pixelFormatDescriptor.byte(16, 0);  // cAlphaBits;
        pixelFormatDescriptor.byte(17, 0);  // cAlphaShift;
        pixelFormatDescriptor.byte(18, 0);  // cAccumBits;
        pixelFormatDescriptor.byte(19, 0);  // cAccumRedBits;
        pixelFormatDescriptor.byte(20, 0);  // cAccumGreenBits;
        pixelFormatDescriptor.byte(21, 0);  // cAccumBlueBits;
        pixelFormatDescriptor.byte(22, 0);  // cAccumAlphaBits;
        pixelFormatDescriptor.byte(23, 32); // cDepthBits;
        pixelFormatDescriptor.byte(24, 0);  // cStencilBits;
        pixelFormatDescriptor.byte(25, 0);  // cAuxBuffers;
        pixelFormatDescriptor.byte(26, 0);  // iLayerType;
        pixelFormatDescriptor.byte(27, 0);  // bReserved;
        pixelFormatDescriptor.dWord(28, 0); // dwLayerMask;
        pixelFormatDescriptor.dWord(32, 0); // dwVisibleMask;
        pixelFormatDescriptor.dWord(36, 0); // dwDamageMask
        nPixelFormat = ChoosePixelFormat.call(dc, pixelFormatDescriptor);
    if (SetPixelFormat.call(dc, nPixelFormat, pixelFormatDescriptor)==0) info( "SetPixelFormat function failed.");
    hrc = wglCreateContext.call(dc);   if (!hrc)   info( "wglCreateContext function failed.");
    if(!wglMakeCurrent.call(dc, hrc))   info( "wglMakeCurrent function failed.");
    //initializeRC();
    glClearColor.call(parm1.int(), parm2.int(), parm3.int(), parm4.int());
    glClear.call(16384);
   // opengl32_glMatrixMode.call(5889);
    //opengl32_glLoadIdentity.call();
   // glu32_gluPerspective.call(10.0, 1.0, 1.0, 10.0);
 

    if (fInfo)
    {
    info(mainWindow?"mainWindow = OK":"mainWindow = Error");
    info(dc?"dc = OK":"dc = Error");
    info(opengl32?"openGL = OK": "opengL = Error");
    info(glu32?"glu32 = OK": "glu32 = Error");
    info(gdi32?"gdi32 = OK": "gdi32 = Error");
    info(wglCreateContext?"wglCreateContext = OK":"wglCreateContext = ERROR");
    info(wglMakeCurrent?"wglMakeCurrent = OK": "wglMakeCurrent = ERROR");
    info(glEnable?"glEnable = OK": "glEnable = ERROR");
    info(ChoosePixelFormat?"ChoosePixelFormat = OK":"ChoosePixelFormat = OK");
    info(SetPixelFormat?"SetPixelFormat = OK":"SetPixelFormat = ERROR");
    info(glMatrixMode?"glMatrixMode = OK":"glMatrixMode = ERROR");
    info(gluPerspective?"gluPerspective = OK":"gluPerspective = ERROR");
    info(glClearColor?"glClearColor = OK":"glClearColor = ERROR");
    }
    // устанавливаем формат пиксела
    wglMakeCurrent.call(0, 0);
    WinAPI::releaseDC(mainWindow, dc);
}
Старый 27.11.2006, 09:44   #24  
Lucky13 is offline
Lucky13
Участник
 
674 / 150 (7) ++++++
Регистрация: 21.10.2004
Адрес: Воронеж
Как же это будет работать, если Вы все запретили, OpenGL c ума сойдет. См. хелп по параметру cRedBits и за ним следующими.
Вот так отлично работает:
X++:
    HWND mainWindow;
    int dc;
    HWND hrc;
    int  nPixelFormat;
    // Загрузка библиотек
    DLL  opengl32 = new DLL("opengl32.dll");
    DLL  glu32    = new DLL("glu32.dll");
    DLL  gdi32    = new DLL("gdi32.dll");
    DLL  user32   = new DLL("user32");
    //
    COMVariant parm5 = new COMVariant();
    // Получение точек входа функций
    DLLFunction wglCreateContext  = new DLLFunction(opengl32, "wglCreateContext");
    DLLFunction wglMakeCurrent    = new DLLFunction(opengl32, "wglMakeCurrent");
    DLLFunction glEnable          = new DLLFunction(opengl32, "glEnable");
    DLLFunction ChoosePixelFormat = new DLLFunction(gdi32,    "ChoosePixelFormat");
    DLLFunction SetPixelFormat    = new DLLFunction(gdi32,    "SetPixelFormat");
    DLLFunction glMatrixMode      = new DLLFunction(opengl32, "glMatrixMode");
    DLLFunction glLoadIdentity    = new DLLFunction(opengl32, "glLoadIdentity");
    DLLFunction gluPerspective    = new DLLFunction(glu32,    "gluPerspective");
    DLLFunction glClearColor      = new DLLFunction(opengl32, "glClearColor");
        COMVariant parm1 = new COMVariant();
        COMVariant parm2 = new COMVariant();
        COMVariant parm3 = new COMVariant();
        COMVariant parm4 = new COMVariant();
    DLLFunction getWindowDC       = new DLLFunction(user32, "GetWindowDC");
    DLLFunction glClear           = new DLLFunction(opengl32, "glClear");
    //
    Binary  pixelFormatDescriptor;
    //
    boolean fInfo = false;
    void initializeRC()
    {
        glEnable.call(2929);
        glEnable.call(2896);
        glEnable.call(16384);
    }
    ;
    // Установка функций
    wglCreateContext.returns(ExtTypes::DWord);
    wglCreateContext.arg(ExtTypes::DWord);
    wglMakeCurrent.returns(ExtTypes::DWord);
    wglMakeCurrent.arg(ExtTypes::DWord, ExtTypes::DWord);
    glEnable.returns(ExtTypes::void);
    glEnable.arg(ExtTypes::DWord);
    ChoosePixelFormat.returns(ExtTypes::DWord);
    ChoosePixelFormat.arg(ExtTypes::DWord, ExtTypes::Pointer);
    SetPixelFormat.returns(ExtTypes::DWord);
    SetPixelFormat.arg(ExtTypes::DWord, ExtTypes::DWord, ExtTypes::Pointer);
    glMatrixMode.returns(ExtTypes::void);
    glMatrixMode.arg(ExtTypes::DWord);
    glLoadIdentity.returns(ExtTypes::void);
    glLoadIdentity.arg();       // возможно нужно добавить
    gluPerspective.returns(ExtTypes::void);
    gluPerspective.arg(ExtTypes::Double, ExtTypes::Double, ExtTypes::Double, ExtTypes::Double);
    glClearColor.returns(ExtTypes::void);
    glClearColor.arg(ExtTypes::DWord, ExtTypes::DWord, ExtTypes::DWord, ExtTypes::DWord);
    parm1.float(1.0);
    parm2.float(0.0);
    parm3.float(0.0);
    parm4.float(1.0);
    getWindowDC.returns(ExtTypes::DWORD);
    getWindowDC.arg(ExtTypes::DWORD);
    glClear.returns(ExtTypes::void);
    glClear.arg(ExtTypes::DWord);
    //
    mainWindow = infolog.hWnd();
    //parm5.int(mainWindow);
    dc  = getWindowDC.call(mainWindow);
   // dc = WinApi::createDC();
    // Формат пиксела
        pixelFormatDescriptor = new Binary(40);
        pixelFormatDescriptor.Word(0, 40);                // nSize
        pixelFormatDescriptor.Word(2, 64);                 // nVersion
        pixelFormatDescriptor.dWord(4, 8191);     // dwFlags
        pixelFormatDescriptor.byte(8, 0);                 // iPixelType
        pixelFormatDescriptor.byte(9, 64);                // cColorBits
        pixelFormatDescriptor.byte(10, 64);  // cRedBits;
        pixelFormatDescriptor.byte(11, 64);  // cRedShift;
        pixelFormatDescriptor.byte(12, 64);  // cGreenBits;
        pixelFormatDescriptor.byte(13, 64);  // cGreenShift;
        pixelFormatDescriptor.byte(14, 64);  // cBlueBits;
        pixelFormatDescriptor.byte(15, 64);  // cBlueShift;
        pixelFormatDescriptor.byte(16, 64);  // cAlphaBits;
        pixelFormatDescriptor.byte(17, 64);  // cAlphaShift;
        pixelFormatDescriptor.byte(18, 64);  // cAccumBits;
        pixelFormatDescriptor.byte(19, 64);  // cAccumRedBits;
        pixelFormatDescriptor.byte(20, 64);  // cAccumGreenBits;
        pixelFormatDescriptor.byte(21, 64);  // cAccumBlueBits;
        pixelFormatDescriptor.byte(22, 64);  // cAccumAlphaBits;
        pixelFormatDescriptor.byte(23, 64); // cDepthBits;
        pixelFormatDescriptor.byte(24, 64);  // cStencilBits;
        pixelFormatDescriptor.byte(25, 64);  // cAuxBuffers;
        pixelFormatDescriptor.byte(26, 0);  // iLayerType;
        pixelFormatDescriptor.byte(27, 64);  // bReserved;
        pixelFormatDescriptor.dWord(28, 64); // dwLayerMask;
        pixelFormatDescriptor.dWord(32, 64); // dwVisibleMask;
        pixelFormatDescriptor.dWord(36, 64); // dwDamageMask
        nPixelFormat = ChoosePixelFormat.call(dc, pixelFormatDescriptor);
    if (SetPixelFormat.call(dc, nPixelFormat, pixelFormatDescriptor)==0) info( "SetPixelFormat function failed.");
    hrc = wglCreateContext.call(dc);   if (!hrc)   info( "wglCreateContext function failed.");
    if(!wglMakeCurrent.call(dc, hrc))   info( "wglMakeCurrent function failed.");
    //initializeRC();
    glClearColor.call(parm1.int(), parm2.int(), parm3.int(), parm4.int());
    glClear.call(16384);
   // opengl32_glMatrixMode.call(5889);
    //opengl32_glLoadIdentity.call();
   // glu32_gluPerspective.call(10.0, 1.0, 1.0, 10.0);


    if (fInfo)
    {
    info(mainWindow?"mainWindow = OK":"mainWindow = Error");
    info(dc?"dc = OK":"dc = Error");
    info(opengl32?"openGL = OK": "opengL = Error");
    info(glu32?"glu32 = OK": "glu32 = Error");
    info(gdi32?"gdi32 = OK": "gdi32 = Error");
    info(wglCreateContext?"wglCreateContext = OK":"wglCreateContext = ERROR");
    info(wglMakeCurrent?"wglMakeCurrent = OK": "wglMakeCurrent = ERROR");
    info(glEnable?"glEnable = OK": "glEnable = ERROR");
    info(ChoosePixelFormat?"ChoosePixelFormat = OK":"ChoosePixelFormat = OK");
    info(SetPixelFormat?"SetPixelFormat = OK":"SetPixelFormat = ERROR");
    info(glMatrixMode?"glMatrixMode = OK":"glMatrixMode = ERROR");
    info(gluPerspective?"gluPerspective = OK":"gluPerspective = ERROR");
    info(glClearColor?"glClearColor = OK":"glClearColor = ERROR");
    }
    // устанавливаем формат пиксела
    wglMakeCurrent.call(0, 0);
    WinAPI::releaseDC(mainWindow, dc);
Старый 27.11.2006, 13:41   #25  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
Что значит отлично работает? Вы попробовали хоть фон-то почистить, что за 64 в строчках, откуда такая версия OpenGL?
Старый 27.11.2006, 13:47   #26  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
Вообще есть вот функция

X++:
int DescribePixelFormat(
  HDC  hdc,           // device context of interest
  int  iPixelFormat,  // pixel format selector
  UINT  nBytes,       // size of buffer pointed to by ppfd
  LPPIXELFORMATDESCRIPTOR  ppfd 
                      // pointer to structure to receive pixel 
                      // format data
);
Вопрос, ка ей передать указатель на LPPIXELFORMATDESCRIPTOR, по идее она сама дозаполняет структуру, если ей передать номер формата.
Старый 27.11.2006, 13:53   #27  
Lucky13 is offline
Lucky13
Участник
 
674 / 150 (7) ++++++
Регистрация: 21.10.2004
Адрес: Воронеж
Цитата:
Сообщение от Dronas Посмотреть сообщение
Что значит отлично работает?
Значит, что не выдает ошибок и устанавливает нормальный PixelFormat
Цитата:
Сообщение от Dronas Посмотреть сообщение
что за 64 в строчках, откуда такая версия OpenGL?
Да, поставьте туда хоть 256, работать будет.
Цитата:
Сообщение от Dronas Посмотреть сообщение
Вы попробовали хоть фон-то почистить,
Чтобы почистить фон одного SetPixelFormat мало. Еще бы SwapBuffers не помешал
Старый 27.11.2006, 14:02   #28  
Lucky13 is offline
Lucky13
Участник
 
674 / 150 (7) ++++++
Регистрация: 21.10.2004
Адрес: Воронеж
Цитата:
Сообщение от Dronas Посмотреть сообщение
Вообще есть вот функция

X++:
int DescribePixelFormat(
  HDC  hdc,           // device context of interest
  int  iPixelFormat,  // pixel format selector
  UINT  nBytes,       // size of buffer pointed to by ppfd
  LPPIXELFORMATDESCRIPTOR  ppfd 
                      // pointer to structure to receive pixel 
                      // format data
);
Вопрос, ка ей передать указатель на LPPIXELFORMATDESCRIPTOR, по идее она сама дозаполняет структуру, если ей передать номер формата.
Никогда не пользовался такой функцией, но по-моему передавать указатель ей нужно также как в функцию SetPixelFormat
Старый 27.11.2006, 14:12   #29  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
Соврал, она работает нормально, вот резульат заполнения PFD

X++:
cColorBits 32
cRedBits 8
cRedShift 16
cGreenBits 8
cGreenShift 8
cBlueBits 8
cBlueShift 0
cAlphaBits 0
cAlphaShift 0
cAccumBits 64
cAccumRedBits 16
cAccumGreenBits 16
cAccumBlueBits 16
cAccumAlphaBits 0
cDepthBits 16
cStencilBits 8
cAuxBuffers 0
iLayerType 0
bReserved 0
dwLayerMask 0
dwVisibleMask 0
dwDamageMask 0
SwapBuffer вызывается, у меня тоже всё проходит на ура, одно но, чёрное окно и всё!!!!
Старый 27.11.2006, 14:16   #30  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
а в pixelFormatDescriptor.dWord(4, 8191); // dwFlags 37 должно быть.
Старый 27.11.2006, 14:20   #31  
Lucky13 is offline
Lucky13
Участник
 
674 / 150 (7) ++++++
Регистрация: 21.10.2004
Адрес: Воронеж
Цитата:
Сообщение от Dronas Посмотреть сообщение
SwapBuffer вызывается, у меня тоже всё проходит на ура, одно но, чёрное окно и всё!!!!
А где Вы вызываете SwapBuffers? Обычно его вызывают в обработчике WM_PAINT или в цикле сообщений. Выложили бы весь проект, тогда было бы проще найти ошибку.
Старый 27.11.2006, 14:25   #32  
Lucky13 is offline
Lucky13
Участник
 
674 / 150 (7) ++++++
Регистрация: 21.10.2004
Адрес: Воронеж
Цитата:
Сообщение от Dronas Посмотреть сообщение
а в pixelFormatDescriptor.dWord(4, 8191); // dwFlags 37 должно быть.
Не обращайте внимание на значения, которые я указал они взяты с потолка. Просто разрешил все что можно, а в реальном проекте нужно выставлять только необходимые флаги. По-моему достаточно этих:
PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER,
PFD_TYPE_RGBA
Старый 27.11.2006, 14:32   #33  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
прогресс
Изображения
 
Старый 27.11.2006, 14:41   #34  
Lucky13 is offline
Lucky13
Участник
 
674 / 150 (7) ++++++
Регистрация: 21.10.2004
Адрес: Воронеж
Обычно такая картинка бывает из за неверно вызванного swapBuffer. OpenGL отрисовывает в буфер, находящейся в памяти, а потом SwapBuffer выводит на экран. SwapBuffer нужно вызывать при каждой перерисовке окна.
Старый 27.11.2006, 14:55   #35  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
Да у меня по порядку идёт инициализация, очистка и свап, видно, что буфер с ошибками, да и не тем цветом "очищается".

Ещё не понятно, почему лишь часть с окраской, по идее всё поле должно быть в такой мути.
Старый 27.11.2006, 15:06   #36  
Lucky13 is offline
Lucky13
Участник
 
674 / 150 (7) ++++++
Регистрация: 21.10.2004
Адрес: Воронеж
Так бывает если не вызвать glClear. Когда учил OpenGL часто с этим сталкивался. Почему не весь экран в мути не знаю, но бывает именно так как на вашем рисунке. Возьмите любой пример на OpenGL и уберите glClear (или не вызовите SwapBuffers) получите именно это.
Старый 27.11.2006, 15:54   #37  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
ну есть оно у меня.

Только там контекст потом не удаляется.
Вложения
Тип файла: xpo OGL.xpo (34.5 Кб, 117 просмотров)

Последний раз редактировалось Dronas; 27.11.2006 в 16:00.
Старый 28.11.2006, 00:09   #38  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,063 / 158 (8) ++++++
Регистрация: 29.09.2006
Адрес: Тюмень
Слушайте, есть одна мысль, может быть, когда мы пишем glClear.call(16384);
на самом деле как этой функции так и другим передается не int, а что то другого размера...
Старый 28.11.2006, 00:30   #39  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,063 / 158 (8) ++++++
Регистрация: 29.09.2006
Адрес: Тюмень
Насчет DescribePixelFormat как то берет сомнение, что она сможет эту чудо структуру Х++ заполнить
Старый 28.11.2006, 09:09   #40  
Lucky13 is offline
Lucky13
Участник
 
674 / 150 (7) ++++++
Регистрация: 21.10.2004
Адрес: Воронеж
Цитата:
Сообщение от Eldar9x Посмотреть сообщение
Слушайте, есть одна мысль, может быть, когда мы пишем glClear.call(16384);
на самом деле как этой функции так и другим передается не int, а что то другого размера...
На счет 16384 по-моему не совсем верно, правильнее будет 0x4100. Z-буфер тоже очищать надо

Цитата:
Сообщение от Eldar9x Посмотреть сообщение
Насчет DescribePixelFormat как то берет сомнение, что она сможет эту чудо структуру Х++ заполнить
Даже если и не сможет, можно обойтись и без нее. Тем не менее выложенный проект у меня выдает GetLastError = 2000 (Invalid PixelFormat). Наверное все таки как-то не так передается эта структура в функцию SetPixelFormat, хотя что не так непонятно. Все тоже самое на C++ работает.
Теги
opengl, axapta

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как получить имена полей, которые есть у таблицы? 3oppo DAX: Программирование 2 22.12.2006 14:30
ALEG: Software-as-a-service есть ли у них будущее в России Blog bot DAX Blogs 0 28.10.2006 16:10
Fullscope - Процессное производство для Axapta есть. mazzy DAX: Функционал 33 28.08.2006 13:22
Есть ли возможность вызывать код с вышележащих слоев ? FishLog DAX: Программирование 5 07.09.2004 17:24
Что есть для Inernet-а ? bucken DAX: Функционал 6 29.10.2003 12:31
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 03:16.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.