02总结--007--OpenGL 投影、图元连接、存储着色器分
2020-07-10 本文已影响0人
修_远
[TOC]
一、投影方式

二、图元接连方式
常见的图元有点、线、三角形,最受GPU欢迎的是三角形

- 其他样式展示

如何使用?
- 定义批次类
//容器类(7种不同的图元对应7种容器对象)
GLBatch pointBatch;
GLBatch lineBatch;
GLBatch lineStripBatch;
GLBatch lineLoopBatch;
GLBatch triangleBatch;
GLBatch triangleStripBatch;
GLBatch triangleFanBatch;
- 使用批次类(SetupRC函数中)
pointBatch.Begin(GL_POINTS, 3);
pointBatch.CopyVertexData3f(vCoast);
pointBatch.End();
lineBatch.Begin(GL_LINES, 3);
lineBatch.CopyVertexData3f(vCoast);
lineBatch.End();
lineStripBatch.Begin(GL_LINE_STRIP, 3);
lineStripBatch.CopyVertexData3f(vCoast);
lineStripBatch.End();
lineLoopBatch.Begin(GL_LINE_LOOP, 3);
lineLoopBatch.CopyVertexData3f(vCoast);
lineLoopBatch.End();
triangleBatch.Begin(GL_TRIANGLES, 3);
triangleBatch.CopyVertexData3f(vCoast);
triangleBatch.End();
triangleStripBatch.Begin(GL_TRIANGLE_STRIP, 3);
triangleStripBatch.CopyVertexData3f(vCoast);
triangleStripBatch.End();
triangleFanBatch.Begin(GL_TRIANGLE_FAN, 3);
triangleFanBatch.CopyVertexData3f(vCoast);
triangleFanBatch.End();
三、存储着色器分类
- 存储着⾊器初始化
// GLShaderManager 的初始化
GLShaderManager shaderManager;
shaderManager.InitializeStockShaders();
