我用VC++进行OpenGL编程,OnDraw函数代码如下:
void CLoadFileView::OnDraw(CDC* pDC)
{
CLoadFileDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
GLfloat light_position[]={4.0,4.0,18.0,1.0};
wglMakeCurrent(pDC->m_hDC, m_hglrc);
glDepthFunc(GL_LEQUAL);
glEnable(GL_DEPTH_TEST);
glLightfv(GL_LIGHT0, GL_POSITION, light_position);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glShadeModel(GL_FLAT);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glColor3f(1.0,0.0,0.0);
glBegin(GL_POLYGON);
glVertex2f(-2,-2);
glVertex2f(-2,2);
glVertex2f(2,2);
glVertex2f(2,-2);
......
}
但是画出来的竟是白色的平面,不知为什么?我明明设了glColor3f(1.0,0.0,0.0);
应该是红色才对,请大家帮帮忙!
void CLoadFileView::OnDraw(CDC* pDC)
{
CLoadFileDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
GLfloat light_position[]={4.0,4.0,18.0,1.0};
wglMakeCurrent(pDC->m_hDC, m_hglrc);
glDepthFunc(GL_LEQUAL);
glEnable(GL_DEPTH_TEST);
glLightfv(GL_LIGHT0, GL_POSITION, light_position);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glShadeModel(GL_FLAT);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glColor3f(1.0,0.0,0.0);
glBegin(GL_POLYGON);
glVertex2f(-2,-2);
glVertex2f(-2,2);
glVertex2f(2,2);
glVertex2f(2,-2);
......
}
但是画出来的竟是白色的平面,不知为什么?我明明设了glColor3f(1.0,0.0,0.0);
应该是红色才对,请大家帮帮忙!
解决方案 »
- 2个对话框如何先后显示
- 如何在OCX里面定义事件并提供给javascript响应
- MFC 程序 在本机上测试没有错误,但是在别人的机器上出现问题
- ZwReadFile问题
- TOM模型的ITextRange::FindText()方法如何进行正则表达式查找
- 问一个问题!
- 能否提供VisualAssist v6.1.1081 的注册码?
- MFC环境下的DDX_Control消息映射,在OCX里面可以使用么?
- 看c语言书的时候,总出现!,不知为何物,请您仔细讲一讲,请看下文!
- 请问大家一个我比较不懂得问题???????????加急
- 导出类中的#define 问题????
- 大家知道杭州恒生电子吗?知道的评价一下.
glPushMatrix()和glPopMatrix ()。
有些颜色和运动等是要分开的,要不就会受以前的设置的影响,我以前就遇到过。
细心一点,把程序再看一遍。