Вот написал код, по идее должен создавать окно и его очищать, но делает это странно. Если убрать строки Код (Text): cmp uMsg,WM_PAINT jne @not_paint , то окно очищается только тогда, когда по нему провожу мышкой, если оставить, то окно вообще не меняется. Вот основная процедура: Код (Text): wndproc proc hWnd:dword,uMsg:dword,wParam:dword,lParam:dword cmp uMsg,WM_DESTROY jne @not_quit push 0 call PostQuitMessage ret 16 @not_quit: cmp uMsg,WM_PAINT jne @not_paint push GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT ;Вот - call glClear ;очистка @not_paint: leave jmp DefWindowProc wndproc endp Весь исходник целиком прикладываю. Еще один вопрос - я так и не понял, как помещать в сопроцессор дробные числа. Когда я компилирую например fld 0.5 - real or BCD number not allowed. И еще - если не сложно, вставьте там для примера код рисования например треугольника. Собственно все - заранее Спасибо. PS просьба - сильно не ругайте, я только начал изучать OpenGL 2136926433__ogl.asm
Людии... Дайте пожалуйста хотябы код какой-нибудь рабочей программы на асм+OpenGL. Главное не навороченой... Ну например заливка окна каким-нибудь цветом. Может пойме чего.
Это который в EXAMPLES? Так по нему и пытаюсь чего-то понять. Уж больно навороченый. Мне бы чего - нибудь попроще.
Все прочел, но ничего не получается Очистка окна glClear - это я понял. Когда после glClear вставляю Код (Text): invoke glBegin,GL_TRIANGLES invoke glColor3f,1.0,0.0,0.0 invoke glVertex3f,-1.0,-1.0,1.0 invoke glColor3f,0.0,1.0,0.0 invoke glVertex3f,1.0,-1.0,1.0 invoke glColor3f,0.0,0.0,1.0 invoke glVertex3f,1.0,1.0,1.0 invoke glEnd ничего, кроме мигающей белой точки не появляется . Неужели не у кого нет исходника ПРОСТЕЙШЕЙ программы.
Конечно можно порядок обхода вершин треугольника описывать как вздумается, но обычно его описывают по часовой стрелке.
Ладно - такой вопрос - вот есть у меня процедура: Код (Text): draw proc push GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT call glClear invoke glBegin,GL_TRIANGLES invoke glColor3f,1.0,0.0,0.0 invoke glVertex3f,-1.0,-1.0,1.0 invoke glColor3f,0.0,1.0,0.0 invoke glVertex3f,1.0,-1.0,1.0 invoke glColor3f,0.0,0.0,1.0 invoke glVertex3f,1.0,1.0,1.0 invoke glEnd ret draw endp В какой момент надо вызывать эту процедуру, чтобы этот несчастный треугольник прорисовывался.