一段OpenGL的简单代码

这是基于OpenGL的代码,把它放进draw中即可。渲染出来的效果还不错

 1 #define  PI 3.14159
 2 #define  N  100
 3 void test::Draw()
 4 {
 5   glClearColor(0.0f, 0.0f, 0.0f, 1.0f);            // 设置刷新背景色
 6   glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);// 刷新背景
 7   glLoadIdentity();
 8   glEnable( GL_BLEND );
 9   glBlendFunc( GL_SRC_ALPHA, GL_ONE );
10   glDisable( GL_DEPTH_TEST );
11   glDisable( GL_TEXTURE_2D );
12 
13 #pragma region 圆圈轨迹
14   glPushMatrix();
15     glColor4f(1.0f,1.0f,1.0f,1.0f);
16     float step,zstep;
17     step=1.0*PI/N;
18     zstep=1.0/N;
19     glBegin(GL_LINES);
20       float factor=2.0f;
21       float length=3.0f;
22       float HOT=2.0f;
23       float COLD=0.0f;
24       GLfloat z=0.0f;
25       while (factor>0)
26       {
27         setColor(length,HOT,COLD);  
28         for (int i=0;i<(int)(2*N);i++)
29         {
30           GLfloat x=factor*cos(step*i);
31           GLfloat y=factor*sin(step*i);
32           //GLfloat z=zstep*i;
33           glVertex3f(x,y,z);
34           glVertex3f(x,y,z+length);
35         }
36         factor=factor-0.05f;
37         length=length-0.1f;
38       }
39     glEnd();
40   glPopMatrix();
41 #pragma endregion
42 }
43 
44 void test::setColor(float t,float HOT,float COLD)
45 {
46   float r,g,b;
47   r=(t-COLD)/(HOT-COLD);
48   g=0.0;
49   b=1.0-r;
50   glColor3f(r,g,b);
51 }

 

转载于:https://www.cnblogs.com/QQ122252656/p/4183530.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值