· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.DIRECTX.OPENGL —› Глукануло glRasterPos2f

Посл.отвђт Сообщенiе


Дата: Окт 24, 2004 03:14:04

Вот заглючило меня что-то :((( Написал вчера это (все что лишнее я повыкидывал)... Объясните, какого хрена текст в середине экрана (по X) ?!?!?!?!
format PE GUI 4.0
entry start
include '%fasminc%\win32a.inc'
include 'opengl_const.inc'
include 'opengl_macros.inc'
start:
xor ebx,ebx
invoke ShowCursor,ebx
push ebx
push ebx
push ebx
push ebx
invoke GetSystemMetrics,SM_CYSCREEN
push eax
invoke GetSystemMetrics,ebx
push eax
fild dword [esp]
fdiv dword [esp+4]
fstp [ratio]
invoke CreateWindowEx,WS_EX_TOPMOST,szClass,ebx,WS_VISIBLE+WS_POPUP,ebx,ebx
invoke GetDC,eax
xchg ebp,eax
mov [pfd.dwFlags],PFD_DRAW_TO_WINDOW+PFD_SUPPORT_OPENGL+PFD_DOUBLEBUFFER
mov [pfd.iPixelType],PFD_TYPE_RGBA
mov [pfd.cColorBits],32
mov [pfd.dwLayerMask],PFD_MAIN_PLANE
invoke ChoosePixelFormat,ebp,pfd
invoke SetPixelFormat,ebp,eax,pfd
invoke wglCreateContext,ebp
invoke wglMakeCurrent,ebp,eax
invoke glEnable,GL_DEPTH_TEST
invoke CreateFont,-12,ebx,ebx,ebx,FW_BOLD,ebx,ebx,ebx,ebx,ebx,ebx,ebx,ebx,fon tName
invoke SelectObject,ebp,eax
invoke wglUseFontBitmapsW,ebp,0,256,ebx
invoke glHint,GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST
invoke glMatrixMode,GL_PROJECTION
glcall gluPerspective,90.0,ratio,0.1,100.0
invoke glMatrixMode,GL_MODELVIEW
invoke glClear,GL_COLOR_BUFFER_BIT+GL_DEPTH_BUFFER_BIT
invoke glLoadIdentity
invoke glTranslatef,ebx,ebx,-3.0
invoke glRasterPos2f,-2.0,2.0
invoke glCallList,'a'
invoke SwapBuffers,ebp
.wait:
invoke GetAsyncKeyState,VK_ESCAPE
test eax,eax
jz .wait
invoke ExitProcess,ebx
fontName db 'courier new',0
szClass db 'edit',0
data import
include 'imports.inc'
end data
ratio dq ?
pfd PIXELFORMATDESCRIPTOR


_980810384__opengl.zip


Дата: Окт 24, 2004 08:46:46

Может потому, что wglUseFontBitmapsW подчиняется перспективе?


Дата: Окт 24, 2004 11:35:35

void CFont::PositionText(int x, int y)
{		
	glPushAttrib( GL_TRANSFORM_BIT | GL_VIEWPORT_BIT );
	
	glMatrixMode( GL_PROJECTION );			
	glPushMatrix();									
	glLoadIdentity();								
	glMatrixMode( GL_MODELVIEW );						
	glPushMatrix();								
	glLoadIdentity();							

	y = SCREEN_HEIGHT - FONT_HEIGHT - y;

	glViewport( x - 1, y - 1, 0, 0 );	

	glRasterPos4f( 0, 0, 0, 1 );	

	glPopMatrix();				
	glMatrixMode( GL_PROJECTION );		
	glPopMatrix();					

	glPopAttrib();
}


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


Дата: Окт 24, 2004 11:51:06

Ну и что это, простите %)) Недогоняю...


Дата: Окт 24, 2004 12:46:03

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


Дата: Окт 24, 2004 13:22:40

Угу... я уже сделал, тока в ортогональной проекции... Тока теперь вопрос... как сделать самый простой рэндом в FPU ?


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.037