opengles_C++_中级_学习笔记
文章平均质量分 69
hb707934728
这个作者很懒,什么都没留下…
展开
-
opengles项目架构图
新的opengles项目架构图:手绘原创 2017-05-26 13:05:55 · 538 阅读 · 0 评论 -
opengles动画
本例让模型顶点在任意轴方向做余弦变化,从而产生波浪线效果shader实现 const char* vs = { "attribute vec3 inVertex;" "attribute vec3 inNormal;" "uniform mat4 MVPMatrix;" "uniform vec3 LightDirection;"原创 2017-06-08 13:41:37 · 492 阅读 · 0 评论 -
opengles立方体贴图
1,带高光效果的立方体贴图2,不带高光效果的立方体贴图shader实现: const char* vs = { "attribute highp vec3 inVertex;"//高精度 "attribute mediump vec3 inNormal;"//中等精度 "uniform highp mat4 MVPMatrix;"原创 2017-06-09 11:18:17 · 1461 阅读 · 0 评论 -
opengles基本变换的实质
我们在三维坐标系中对物体进行旋转,缩放,平移,从表面上看是直接针对物体的,但实际上并不是,这些变换是针对坐标系的,opengles中变换的实现机制可以理解为首先通过矩阵对坐标系进行变换,然后根据传入渲染管线的原始顶点坐标在最终变换结果坐标系中的位置来进行绘制,见下图加深理解变换过程1,左侧的原始坐标系,原始坐标系首先向右沿X轴平移,得到上标为X‘的坐标系,然后绕Z轴旋转了30度原创 2017-06-09 15:00:28 · 348 阅读 · 0 评论 -
opengl相关资料收集
OpenGL基础渲染http://www.cnblogs.com/luweimy/p/4141204.html原创 2017-07-14 11:12:08 · 306 阅读 · 0 评论 -
顶点缓冲区VBO和索引缓冲区IBO的结合使用
virtual void onInit() { //清空窗口为黑色 glClearColor(0,0,0,1); //设置视口的位置和大小--尝试改变视口的位置和大小 glViewport(0,0,(GLint)_winWidth,(GLint)_winHeight); //创建VBO-顶点缓冲区 glGenBuffers(1, &_vertexId);//若创建多个,原创 2017-07-06 14:12:33 · 542 阅读 · 0 评论 -
vbo和fbo的结合使用
效果图上图实现了这样一个效果:大的正方体每个面,都有一个旋转的小正方体实现原理:1,创建FBO2,绘制一个场景,但这个场景并不显示到窗口3,将这个场景渲染到一个创建的动态纹理上面4,再次绘制其他场景5,将FBO里面的动态纹理贴到绘制的其他模型上代码实现 virtual void render() { //第一次绘制的立方体 渲染到原创 2017-07-07 17:32:58 · 777 阅读 · 0 评论 -
大规模模型绘制的优化思路
思路:1,使用VBO和IBO减少主机内存和显存之间的数据传递2,只绘制摄像机可视范围内的模型具体实现:1,加载模型时创建每个模型的VBO和IBO,初始化每个模型的AABB包围盒 /** * 加载模型数据 */ bool load(const char* fileName) {原创 2017-07-19 18:41:16 · 663 阅读 · 0 评论 -
opengl解析obj模型文件
obj模型文件格式# This file uses centimeters as units for non-parametric coordinates.mtllib Cube.mtlg defaultv -0.500000 -0.500000 0.500000 #顶点坐标v 0.500000 -0.500000 0.500000v -0.500000 0.500000 0.5原创 2017-07-26 15:34:37 · 4024 阅读 · 8 评论 -
opengl_shader在线教程
https://thebookofshaders.com/07/?lan=ch opengl入门教程https://learnopengl-cn.github.io/原创 2018-12-20 14:52:33 · 1571 阅读 · 1 评论 -
opengles文字绘制相关资料
https://www.freetype.org/freetype2/docs/glyphs/glyphs-3.html#section-1原创 2017-06-29 09:45:57 · 647 阅读 · 0 评论 -
opengles实现雾化效果
shader实现类 const char* vs = { "attribute vec3 inVertex;" "attribute vec3 inNormal;" "attribute vec2 inTexCoord;" "uniform mat4 MVPMatrix;" "uniform mat4 ModelViewMatrix;"原创 2017-06-07 16:51:30 · 799 阅读 · 0 评论 -
opengles实现场景控制
本例实现,鼠标点击场景中任何一点,场景中的正方体即移动到鼠标指定点,右键按住不放,旋转场景,鼠标滚轮实现场景缩放核心实现:1,相机类 (摄像机根据输入事件改变自己的观察矩阵) //相机类 class CELL3RDCamera { public: float3 _eye; float3 _up; float3 _right; float3 _target;原创 2017-05-27 10:55:54 · 1127 阅读 · 3 评论 -
opengles加载xml格式的三维模型
效果图:模型文件格式加载模型的代码: std::vector _arFaces; std::vector _arVertex; virtual char* readFile(const char* fileName) { FILE* pFile = fopen(fileName, "rb"); if (pFile==0) {原创 2017-05-27 16:13:29 · 1682 阅读 · 0 评论 -
opengles拾取,碰撞检测,相交检测
本例用AABB来实现opengl中的拾取功能,AABB在opengl中可用来做相交检测,碰撞检测,本例用于检测鼠标指向的射线是否和物体相交AABB实现类 template class AxisAlignedBox { public: enum Extent { EXTENT_NULL, //是否被初始原创 2017-06-05 10:20:39 · 2653 阅读 · 2 评论 -
opengles加载多个模型
模型文件格式:1,用于保存各个模型文件的配置文件格式 2,模型文件格式: 0 1 2 2 3 0 4 5 6 6 7 4 0 3 5 5 4 0 3 2 6 6 5 3 2 1 7 7 6原创 2017-05-31 15:34:45 · 893 阅读 · 0 评论 -
opengles实现方向光
核心shader实现 const char* vs = { "attribute vec3 inVertex; " "attribute vec3 inNormal;" "attribute vec2 inTexCoord;"原创 2017-06-01 11:14:45 · 623 阅读 · 0 评论 -
opengles实现点光源
核心shader const char* vs = { "attribute vec3 inVertex; " "attribute vec3 inNormal;" "attribute vec2 inTexCoord;"原创 2017-06-01 13:25:54 · 602 阅读 · 0 评论 -
opengles实现卡通效果
核心shader实现 const char* vs = { "attribute vec3 inVertex;" "attribute vec3 inNormal;"//法线 "uniform mat4 MVPMatrix;" "uniform vec3 LightDirection;"//光的方向 "uniform vec3 EyePosi原创 2017-06-06 16:00:52 · 1434 阅读 · 0 评论 -
opengles法线贴图
效果图:shader实现: const char* vs = { "attribute vec3 inVertex;"//顶点坐标 "attribute vec3 inNormal;"//法向量 "attribute vec2 inTexCoord;"//纹理坐标 "attribute vec3 inTangent;"// 切线坐标原创 2017-06-06 13:28:11 · 880 阅读 · 0 评论 -
opengles法线贴图加反射
shader实现 const char* vs = { "attribute vec3 inVertex;"//顶点 "attribute vec3 inNormal;"//法线 "attribute vec2 inTexCoord;"//纹理 "attribute vec3 inTangent;"//切线 "uniform mat4 MVP原创 2017-06-07 10:55:00 · 669 阅读 · 0 评论 -
opengl shader 在线学习文档
https://thebookofshaders.com/?lan=chhttps://thebookofshaders.com/?lan=ch原创 2019-06-10 18:50:01 · 616 阅读 · 0 评论