作者Achillean (山猪元年革命志士)
看板GameDesign
标题Re: [请益] Opengl对全画面作stipple处理的函式
时间Thu Aug 19 11:07:25 2010
※ 引述《Achillean (山猪元年革命志士)》之铭言:
: 请问一下
: 对polygon作patten有glPolygonStipple
: 对线有glLineStipple
: 有没有对全画面影像作patten的函式?
: 不然就是要把画面read到buffer作,在write回去
: 感觉这样作效能会降低很多
: 谢谢
问题:
why不是从左下-1.-1贴齐?
结果:
http://tinyurl.com/3yowgm4
程式:
void display(void) //绘图 - new
{
//Left Eye---------------------------------------
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt( -fEye_D/2,fEye_Y,fEye_Z,
fFocus_X, fFocus_Y, fFocus_Z,
0,1,0);
//Draw Object
drawObjects();
glFlush();
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glReadPixels( 0,0,nWinWidth,nWinHeight, GL_RGB,GL_UNSIGNED_BYTE,pRGB_L);
//Right Eye---------------------------------------
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt( fEye_D/2,fEye_Y,fEye_Z,
fFocus_X, fFocus_Y, fFocus_Z,
0,1,0);
//Draw Object
drawObjects();
glFlush();
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glReadPixels( 0,0,nWinWidth,nWinHeight, GL_RGB,GL_UNSIGNED_BYTE,pRGB_R);
//3D Imagbe---------------------------------------
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
LR2Interval();
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt( 0,fEye_Y,fEye_Z,
fFocus_X, fFocus_Y, fFocus_Z,
0,1,0);
glRasterPos2f(-1.0,-1.0);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glDrawPixels(nWinWidth,nWinHeight, GL_RGB, GL_UNSIGNED_BYTE, pRGB_3D);
glutSwapBuffers();
}
问题:
Q0: why图是贴歪的,没有对齐视窗左下角?
Q1: glFlush()有其必要性?目前看不出差异
Q2:glPixelStorei函式似乎没发挥作用
当视窗resize非四倍数时候,贴图会整各歪斜错位
Q3:承Q2,glPixelStorei是否呼叫一次即可,是否会放在init相关函式设定
Q4:drawObjects()是画球、画方块等等程式码
是否必须要呼叫两次分别for Left and Right Eye绘图
谢谢,小弟是初学,抱着红皮书在k
语无伦次,诚惶诚恐
还希前辈不吝赐教
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.32.40.135
※ 编辑: Achillean 来自: 114.32.40.135 (08/19 11:11)
1F:推 NDark:Q3 glPixelStorei 是 . 只要你没有不断改变设定. 08/19 20:05
2F:→ NDark:Q2 glPixelStorei 用来设定 资料的排列 tinyurl.com/2gyqv9h 08/19 20:06
3F:→ NDark:Q1 glFlush 是用来强制gl马上执行命令.看不出来不同是正常的 08/19 20:08
4F:→ NDark:Q4 清过之後当然要重画.更何况你是画完之後再取回资料 08/19 20:09
5F:推 NDark:可以试看看 不用 glRasterPos2f ,会差多少.就知道 -1 是多少 08/19 20:15