一段OpenGL的简单代码
这是基于OpenGL的代码,把它放进draw中即可。渲染出来的效果还不错
#define PI 3.14159
#define N 100
void test::Draw()
{
glClearColor(0.0f, 0.0f, 0.0f, 1.0f); // 设置刷新背景色
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);// 刷新背景
glLoadIdentity();
glEnable( GL_BLEND );
glBlendFunc( GL_SRC_ALPHA, GL_ONE );
glDisable( GL_DEPTH_TEST );
glDisable( GL_TEXTURE_2D ); #pragma region 圆圈轨迹
glPushMatrix();
glColor4f(1.0f,1.0f,1.0f,1.0f);
float step,zstep;
step=1.0*PI/N;
zstep=1.0/N;
glBegin(GL_LINES);
float factor=2.0f;
float length=3.0f;
float HOT=2.0f;
float COLD=0.0f;
GLfloat z=0.0f;
while (factor>)
{
setColor(length,HOT,COLD);
for (int i=;i<(int)(*N);i++)
{
GLfloat x=factor*cos(step*i);
GLfloat y=factor*sin(step*i);
//GLfloat z=zstep*i;
glVertex3f(x,y,z);
glVertex3f(x,y,z+length);
}
factor=factor-0.05f;
length=length-0.1f;
}
glEnd();
glPopMatrix();
#pragma endregion
} void test::setColor(float t,float HOT,float COLD)
{
float r,g,b;
r=(t-COLD)/(HOT-COLD);
g=0.0;
b=1.0-r;
glColor3f(r,g,b);
}
一段OpenGL的简单代码的更多相关文章
- Redis:安装、配置、操作和简单代码实例(C语言Client端)
Redis:安装.配置.操作和简单代码实例(C语言Client端) - hj19870806的专栏 - 博客频道 - CSDN.NET Redis:安装.配置.操作和简单代码实例(C语言Client端 ...
- 1 go 开发环境搭建与简单代码实现
什么是go语言 go是一门并发支持,垃圾回收的编译型 系统编程语言,旨在创造一门具有静态编译语言的高性能和动态语言的高效开发之间拥有一个良好平衡点 的一门编程语言. go有什么优点? 自动垃圾回收机制 ...
- GRU(Gated Recurrent Unit) 更新过程推导及简单代码实现
GRU(Gated Recurrent Unit) 更新过程推导及简单代码实现 RNN GRU matlab codes RNN网络考虑到了具有时间数列的样本数据,但是RNN仍存在着一些问题,比如随着 ...
- 分享一段Java搞笑的代码注释
今天在群里看到有人分享了一段搞笑的注释代码,觉得挺好玩的,在这里收藏一下 // _ooOoo_ // o8888888o // 88" . "88 // (| -_- |) // ...
- php网页,想弹出对话框, 消息框 简单代码
php网页,想弹出对话框, 消息框 简单代码 <?php echo "<script language=\"JavaScript\">alert(\&q ...
- C# 客服端上传文件与服务器器端接收 (简单代码)
简单代码: /*服务器端接收写入 可以实现断点续传*/ public string ConnectUpload(string newfilename,string filepath,byte[] fi ...
- 内存布局:栈,堆,BSS段(静态区),代码段,数据段
简介 我们程序运行的时候都是放在内存里的.根据静态.成员函数.代码段.对象.等等.放在不同的内存分块里.大概分为5块 1 栈 2 堆 3 BSS段-全局区-(静态区) 4 代码段 5 数据段 栈 ...
- 使用WinSCP进行简单代码文件同步
前言传输协议FTPFTPSSFTPSCP为什么使用WinSCP?CMD的FTP命令FileZillaPuTTYrsyncSublime的SFTP插件WinSCPWinSCP进行简单代码文件同步总结备注 ...
- js实现倒计时60秒的简单代码
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Conten ...
随机推荐
- 浏览器获取ip地址
/** * 获取浏览器的ip地址 * @param request * @return */ public static String getIP(HttpServletRequest request ...
- ORACLE十进制与十六进制的转换
十进制与十六进制的转换 十进制-->十六进制 select to_char(100,'XX') from dual; 十六进制-->十进制select to_number('7D','XX ...
- PHP5下SOAP调用实现过程
本文以某公司iPhone 6手机预约接口开发为例,介绍PHP5下SOAP调用的实现过程. 一.基础概念 SOAP(Simple Object Access Protocol )简单对象访问协议是在分散 ...
- linux上配置java环境
四.安装JDKsudo rpm -ivh jdk-7u75-linux-x64.rpmsudo rpm -qd jdk //查看jdk安装路径:/usr/java/jdk1.7.0_75/ 五.编辑环 ...
- 修改文件中的内容,使用fileinput模块
import fileinput filename = 'passwd' ,backup='.bak') print line.replace('root','ROOT') a = ' this is ...
- Windows Security 学习笔记
对于Windows 在 Security 方面的学习. 纯兴趣. UNIX 的另外开一条路线学习. 话说今天查gpedit.msc的资料的时候发现 M$ 官网上怎么连个文档都没有. 后来才点了 gpe ...
- 解决:CWnd::SetWindowText报Assertion failure
参考资料: http://www.cnblogs.com/tiancun/p/3756581.html http://www.tc5u.com/mfc/2120698.htm http://forum ...
- Formatting Domain Names--域名可以由哪些字符串组成
the domain name can include any of the following printable ASCII characters (excluding spaces): a-z ...
- python password输入
1.linux下用getpass,没有星号提示,符合linux风格 from getpass import getpasspwd = getpass('Enter the password: ') 2 ...
- js - ajax中的get和post说明
转自:http://www.cnblogs.com/hateyoucode/archive/2009/12/09/1620050.html 一.谈Ajax的Get和Post的区别 Get方式: 用 ...