Глукануло glRasterPos2f

Тема в разделе "WASM.OpenGL", создана пользователем tylerdurden, 24 окт 2004.

  1. tylerdurden

    tylerdurden New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    322
    Вот заглючило меня что-то :dntknw:(( Написал вчера это (все что лишнее я повыкидывал)... Объясните, какого хрена текст в середине экрана (по X) ?!?!?!?!
    Код (Text):
    1.  
    2. format PE GUI 4.0
    3. entry start
    4. include '%fasminc%\win32a.inc'
    5. include 'opengl_const.inc'
    6. include 'opengl_macros.inc'
    7. start:
    8. xor ebx,ebx
    9. invoke ShowCursor,ebx
    10. push ebx
    11. push ebx
    12. push ebx
    13. push ebx
    14. invoke GetSystemMetrics,SM_CYSCREEN
    15. push eax
    16. invoke GetSystemMetrics,ebx
    17. push eax
    18. fild dword [esp]
    19. fdiv dword [esp+4]
    20. fstp [ratio]
    21. invoke CreateWindowEx,WS_EX_TOPMOST,szClass,ebx,WS_VISIBLE+WS_POPUP,ebx,ebx
    22. invoke GetDC,eax
    23. xchg ebp,eax
    24. mov [pfd.dwFlags],PFD_DRAW_TO_WINDOW+PFD_SUPPORT_OPENGL+PFD_DOUBLEBUFFER
    25. mov [pfd.iPixelType],PFD_TYPE_RGBA
    26. mov [pfd.cColorBits],32
    27. mov [pfd.dwLayerMask],PFD_MAIN_PLANE
    28. invoke ChoosePixelFormat,ebp,pfd
    29. invoke SetPixelFormat,ebp,eax,pfd
    30. invoke wglCreateContext,ebp
    31. invoke wglMakeCurrent,ebp,eax
    32. invoke glEnable,GL_DEPTH_TEST
    33. invoke CreateFont,-12,ebx,ebx,ebx,FW_BOLD,ebx,ebx,ebx,ebx,ebx,ebx,ebx,ebx,fon tName
    34. invoke SelectObject,ebp,eax
    35. invoke wglUseFontBitmapsW,ebp,0,256,ebx
    36. invoke glHint,GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST
    37. invoke glMatrixMode,GL_PROJECTION
    38. glcall gluPerspective,90.0,ratio,0.1,100.0
    39. invoke glMatrixMode,GL_MODELVIEW
    40. invoke glClear,GL_COLOR_BUFFER_BIT+GL_DEPTH_BUFFER_BIT
    41. invoke glLoadIdentity
    42. invoke glTranslatef,ebx,ebx,-3.0
    43. invoke glRasterPos2f,-2.0,2.0
    44. invoke glCallList,'a'
    45. invoke SwapBuffers,ebp
    46. .wait:
    47. invoke GetAsyncKeyState,VK_ESCAPE
    48. test eax,eax
    49. jz .wait
    50. invoke ExitProcess,ebx
    51. fontName db 'courier new',0
    52. szClass db 'edit',0
    53. data import
    54. include 'imports.inc'
    55. end data
    56. ratio dq ?
    57. pfd PIXELFORMATDESCRIPTOR
    58.  
    [​IMG] _980810384__opengl.zip
     
  2. jekyll

    jekyll New Member

    Публикаций:
    0
    Регистрация:
    20 мар 2003
    Сообщения:
    92
    Адрес:
    Russia
    Может потому, что wglUseFontBitmapsW подчиняется перспективе?
     
  3. ozzman

    ozzman New Member

    Публикаций:
    0
    Регистрация:
    22 янв 2004
    Сообщения:
    56
    Код (Text):
    1. void CFont::PositionText(int x, int y)
    2. {      
    3.     glPushAttrib( GL_TRANSFORM_BIT | GL_VIEWPORT_BIT );
    4.    
    5.     glMatrixMode( GL_PROJECTION );         
    6.     glPushMatrix();                                
    7.     glLoadIdentity();                              
    8.     glMatrixMode( GL_MODELVIEW );                      
    9.     glPushMatrix();                            
    10.     glLoadIdentity();                          
    11.  
    12.     y = SCREEN_HEIGHT - FONT_HEIGHT - y;
    13.  
    14.     glViewport( x - 1, y - 1, 0, 0 );  
    15.  
    16.     glRasterPos4f( 0, 0, 0, 1 );   
    17.  
    18.     glPopMatrix();             
    19.     glMatrixMode( GL_PROJECTION );     
    20.     glPopMatrix();                 
    21.  
    22.     glPopAttrib();
    23. }




    p.s. программы глючат редко, чаще - мы сами!
     
  4. tylerdurden

    tylerdurden New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    322
    Ну и что это, простите %)) Недогоняю...
     
  5. ozzman

    ozzman New Member

    Публикаций:
    0
    Регистрация:
    22 янв 2004
    Сообщения:
    56
    tylerdurden

    функция для позиционирования текста. Что конкретно непонятно?
     
  6. tylerdurden

    tylerdurden New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    322
    Угу... я уже сделал, тока в ортогональной проекции... Тока теперь вопрос... как сделать самый простой рэндом в FPU ?