1.第一个三角形
来源:互联网 发布:js 使input不可编辑 编辑:程序博客网 时间:2024/05/22 00:35
#include <GLTools.h>
#include <GLShaderManager.h>
#define FREEGLUT_STATIC
#include <GL/glut.h>
GLBatch triangleBatch;
//着色器管理器
GLShaderManager shaderManager;
//窗口大小被改变时被调用
void ChangeSize(int w, int h)
{
glViewport(0, 0, w, h);
}
//
void SetupRC()
{
//设置清除颜色
glClearColor(0.0f, 0.0f, 0.0f, 1.0f );
//初始化着色器管理器
shaderManager.InitializeStockShaders();
//三角形的顶点 x, y, z
GLfloat vVerts[] = { -0.5f, 0.0f, 0.0f,
0.5f, 0.0f, 0.0f,
0.0f, 0.5f, 0.0f };
//绘制三角形
triangleBatch.Begin(GL_TRIANGLES, 3);
triangleBatch.CopyVertexData3f(vVerts);
triangleBatch.End();
}
void RenderScene(void)
{
//清除颜色 深度缓冲
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
//颜色
GLfloat vRed[] = { 1.0f, 0.0f, 0.0f, 1.0f };
//使用GLT_SHADER_IDENTITY(存储着色器)渲染
shaderManager.UseStockShader(GLT_SHADER_IDENTITY, vRed);
triangleBatch.Draw();
//交换缓冲区
glutSwapBuffers();
}
int main(int argc, char** argv)
{
//设置当前工作目录(windows可忽略)
//glSetWorkingDirectory(argv[0]);
//初始化OpenGL库
glutInit(&argc, argv);
//显示模式 (双缓冲窗口 | RGBA颜色模式 | 开启深度测试 | 模板缓冲区)
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_STENCIL);
//设置窗口大小
glutInitWindowSize(800, 600);
//创建窗口并指定窗口标题
glutCreateWindow("OpenGL Window");
//窗口大小
glutReshapeFunc(ChangeSize);
//绘制函数
glutDisplayFunc(RenderScene);
//检测驱动程序是否正确
GLenum err = glewInit();
if(GLEW_OK != err)
{
fprintf(stderr, "GLEW Error: %s\n", glewGetErrorString(err));
return -1;
}
SetupRC();
glutMainLoop();
return 0;
#include <GLShaderManager.h>
#define FREEGLUT_STATIC
#include <GL/glut.h>
GLBatch triangleBatch;
//着色器管理器
GLShaderManager shaderManager;
//窗口大小被改变时被调用
void ChangeSize(int w, int h)
{
glViewport(0, 0, w, h);
}
//
void SetupRC()
{
//设置清除颜色
glClearColor(0.0f, 0.0f, 0.0f, 1.0f );
//初始化着色器管理器
shaderManager.InitializeStockShaders();
//三角形的顶点 x, y, z
GLfloat vVerts[] = { -0.5f, 0.0f, 0.0f,
0.5f, 0.0f, 0.0f,
0.0f, 0.5f, 0.0f };
//绘制三角形
triangleBatch.Begin(GL_TRIANGLES, 3);
triangleBatch.CopyVertexData3f(vVerts);
triangleBatch.End();
}
void RenderScene(void)
{
//清除颜色 深度缓冲
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
//颜色
GLfloat vRed[] = { 1.0f, 0.0f, 0.0f, 1.0f };
//使用GLT_SHADER_IDENTITY(存储着色器)渲染
shaderManager.UseStockShader(GLT_SHADER_IDENTITY, vRed);
triangleBatch.Draw();
//交换缓冲区
glutSwapBuffers();
}
int main(int argc, char** argv)
{
//设置当前工作目录(windows可忽略)
//glSetWorkingDirectory(argv[0]);
//初始化OpenGL库
glutInit(&argc, argv);
//显示模式 (双缓冲窗口 | RGBA颜色模式 | 开启深度测试 | 模板缓冲区)
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_STENCIL);
//设置窗口大小
glutInitWindowSize(800, 600);
//创建窗口并指定窗口标题
glutCreateWindow("OpenGL Window");
//窗口大小
glutReshapeFunc(ChangeSize);
//绘制函数
glutDisplayFunc(RenderScene);
//检测驱动程序是否正确
GLenum err = glewInit();
if(GLEW_OK != err)
{
fprintf(stderr, "GLEW Error: %s\n", glewGetErrorString(err));
return -1;
}
SetupRC();
glutMainLoop();
return 0;
}
0 0
- 1.第一个三角形
- OpenGL 第一个三角形
- ogl 第一个三角形
- 第一个OpenGL ES三角形
- 【Modern OpenGL】第一个三角形
- 【Modern OpenGL】第一个三角形
- WebGL Tutorial 绘制第一个三角形
- OpenGL学习(2)-第一个三角形
- Android应用 :第一个 OpenGL ES 三角形
- C#+OpenGL3编程之第一个三角形
- 第二课:绘制第一个三角形
- OpenGL实践2之第一个三角形
- 【一步步学OpenGL 3】-《第一个三角形》
- OpenGL学习(三)第一个三角形
- 第一三角形
- 第一个OpengGL程序——三角形的显示
- OpenGL ES 2.0教程:你的第一个三角形(1)
- 【WebGL初学系列之二】WebGL第一个程序,三角形
- 【转载】 Searching过程粗略梳理
- Android 颜色对照表
- 【转载】solr教程,值得刚接触搜索开发人员一看
- 使用OpenCVC随机森林
- 【Solr专题之九】SolrJ教程
- 1.第一个三角形
- 【solr基础教程之九】客户端
- JavaScript、Ajax与jQuery的关系
- XHTML 结构化:使用 XHTML 重构网站
- java的二维数组中如何计算行数和列数?
- 将HTML格式的String转化为HTMLElement
- STL学习笔记之容器--string
- JavaScript中的一些细节
- javascript中0级DOM和2级DOM事件模型浅析