『求助』opengl探照灯效果的问题

软件和网站开发以及相关技术探讨
回复
头像
icmmed
帖子: 46
注册时间: 2010-12-03 11:08
送出感谢: 0
接收感谢: 0

『求助』opengl探照灯效果的问题

#1

帖子 icmmed » 2010-12-16 17:55

#include <GL/glut.h>
#include <stdlib.h>

//三角形顶点坐标
static GLfloat verts[6] =
{
-200.0, -200.0,
0.0, 200.0,
200.0, -200.0
};

//顶点坐标法线向量
static GLfloat norverts[9] =
{
0,0,1,
0,0,1,
0,0,1
};



static void init(void)
{

glClearColor (0.0, 0.0, 0.0, 0.0);

GLfloat mat_specular[] = { 1.0, 1.0, 1.0, 1.0 };
GLfloat mat_shininess[] = { 50.0 };
GLfloat light_position0[] = { 0.0, 0.0, 350.0, 1.0 };


glShadeModel (GL_SMOOTH);

glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess);

glLightfv(GL_LIGHT0, GL_POSITION, light_position0);

glLightf(GL_LIGHT0, GL_SPOT_CUTOFF, 30.0);//探照灯角度

glEnable(GL_NORMALIZE);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glEnable(GL_DEPTH_TEST);

}

static void display(void)
{
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glEnable(GL_NORMALIZE);
glVertexPointer(2, GL_FLOAT, 0, verts);
glNormalPointer(GL_FLOAT, 0, norverts);

glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_NORMAL_ARRAY);
/*draw the object*/
glDrawArrays(GL_TRIANGLES, 0, 3);

glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_NORMAL_ARRAY);

glFlush ();
}

static void reshape (int w, int h)
{
glViewport (0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode (GL_PROJECTION);
glLoadIdentity();

glOrtho (-0.5*w, 0.5*w, -0.5*h, 0.5*h, -10.0, 10.0);

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

}

/* ARGSUSED1 */
static void keyboard(unsigned char key, int x, int y)
{
switch (key) {
case 27:
exit(0);
break;
}
}

int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize (600, 600);
glutInitWindowPosition (100, 100);
glutCreateWindow (argv[0]);
init ();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutKeyboardFunc(keyboard);
glutMainLoop();
return 0;
}
以上是我写的一个程序,本以为会出来从三角形中间向四周逐渐变暗的效果
结果出来一个从最上面的顶点到下面逐渐变暗的效果。

那位大牛给解决以下,或者给个解释之类的。
谢了!
我喜欢忙一点...
Lost Temple...
头像
icmmed
帖子: 46
注册时间: 2010-12-03 11:08
送出感谢: 0
接收感谢: 0

Re: 『求助』opengl探照灯效果的问题

#2

帖子 icmmed » 2010-12-17 16:20

没人理啊...汗...
我喜欢忙一点...
Lost Temple...
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

Re: 『求助』opengl探照灯效果的问题

#3

帖子 eexpress » 2010-12-17 16:28

少有人搞opengl。支持你下。
● 鸣学
头像
rapistor
帖子: 1982
注册时间: 2009-01-19 15:09
送出感谢: 4 次
接收感谢: 8 次

Re: 『求助』opengl探照灯效果的问题

#4

帖子 rapistor » 2010-12-17 17:49

纯不懂的路过,Ubuntu可能没有fedora那么多高人在吧?
坚守在linux的天堂!
头像
icmmed
帖子: 46
注册时间: 2010-12-03 11:08
送出感谢: 0
接收感谢: 0

Re: 『求助』opengl探照灯效果的问题

#5

帖子 icmmed » 2010-12-22 10:27

eexpress 写了:少有人搞opengl。支持你下。
多谢...
我喜欢忙一点...
Lost Temple...
头像
jiyinyiyong
帖子: 631
注册时间: 2010-01-03 19:58
系统: OS X, Ubuntu(server)
来自: 杭州
送出感谢: 4 次
接收感谢: 0
联系:

Re: 『求助』opengl探照灯效果的问题

#6

帖子 jiyinyiyong » 2011-02-03 17:40

我想学opengl..帮你顶下..能教教我编译opengl的命令吗?我从网上找的例子编译不了..
回复

回到 “软件/网站开发”