![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
opengl学习
Junior Chestnut
这个作者很懒,什么都没留下…
展开
-
openGL中绕着任意位置旋转(不仅仅是坐标轴)
废话不多说,直接上代码:顶点Shader里,就把过度矩阵乘在原model的左侧就ok了。由于opengl的旋转中,在使用model矩阵时,glm::rotate函式只能设置起点在世界坐标原点的向量,因此,如果物体要绕着非坐标原点出发的向量,仅使用一步是行不通的。代码的大致意思是:(1)这里是绕着动轴旋转的代码;(2)先计算好动轴的位置;(3)把需要旋转的物体放回世界坐标轴(必须在轴上);(4)在轴上旋转设定的角度之后,再移动回来。(5)其它的操作过程我没有调试过,但是旋转操作必须在最前方。原创 2021-03-19 21:17:02 · 5155 阅读 · 0 评论 -
VAO的真正面目
https://blog.csdn.net/lixiaoguang20/article/details/78667929?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.cha转载 2020-08-09 09:06:58 · 150 阅读 · 0 评论 -
如何把solidworks的模型加载到opengl中
刚刚学会,记录下来。分类:(1)加载单个零件;(2)加载一个装配体;对与加载单个零件:1、 用solidworks建好模型,注意附加零件材质,不然到导入进去会不好看。然后另存为igs格式;例如为A.igs2、 用3dsMax把igs模型导入进去,直接导出为obj模型;(这里要注意,openGL只能显示-1~1点,虽然用摄像机功能向后拉可以显示更多,但不好控制。所以建议先注意一下自己的sw模型的尺寸,导出时合理缩小。或者,也可以直接用model矩阵缩小,都一样,注意一下这个问题就可以了)3、 用原创 2020-08-05 17:19:37 · 3415 阅读 · 5 评论 -
OBJ文件的解析记录
一、自制OBJ文件OBJ文件记录一个四边形的代码: v -0.58 0.84 0 v 2.68 1.17 0 v 2.84 -2.03 0 v -1.92 -2.89 0 f 1 2 3 4让我们来创建一个OBJ文件,不过这一回我们不用3D软件,而是用写字板来创建。打开写字板,把上面的5行代码写上去,可以适当加一点注释。 保存文件为文本格式,文件名为"myObj.obj...原创 2019-12-16 00:39:57 · 324 阅读 · 2 评论 -
attach map需要的一般步骤
一、 Shader层面的程序1.0 vertex shader2.0 fragment shader二、main函数层面原创 2019-11-16 19:02:09 · 127 阅读 · 0 评论 -
opengl坐标系相关
一、 局部坐标 一个model放到世界坐标系后,它的位置是(0.0,1.0,2.0),这里的位置是指,原model的局部坐标系的坐标原点 在经过model矩阵(平移)变换之后的位置。即,一般说一个模型的位置,是在说它的局部坐标原点所在的位置。...原创 2019-11-16 11:01:48 · 130 阅读 · 0 评论 -
shader使用记录
一、 vertex shader#version 330 corelayout(location=0) in vec3 position; // 这是在一起的,表示,分配VAO–位置0,然后把0的数据作为向量放在position里。gl_Position=vec4(position, scaleSize); //这里的gl_Position输出的是经过整体缩放之后顶点数据。通常会...原创 2019-11-15 23:41:04 · 95 阅读 · 0 评论 -
opengl修改VAO中的缓存数据
==把数据的处理 放到循环里来,那么每次渲染时,都会得到不同的VAO数据,画出不同的东西。==通常,绘制不变的已知的数据时,会放在循环的外面。while (!glfwWindowShouldClose(window)){glPointSize(3.0f);processInput(window); glClearColor(0.2f, 0.3f, 0.3f, 1.0f); glClea...原创 2019-11-15 23:26:23 · 820 阅读 · 0 评论 -
opengl基本图元记录
https://www.cnblogs.com/gl5773477/p/4007350.html -----讲解的比较详细转载 2019-11-15 23:44:41 · 158 阅读 · 0 评论 -
glfw库编程指南--学习记录
//原文链接https://blog.csdn.net/hunter_wyh/article/details/99876221窗口对象所述GLFWwindow对象封装二者的窗口和上下文。它们是使用glfwCreateWindow创建的,并使用glfwDestroyWindow或glfwTerminate(如果有的话)进行销毁。由于窗口和上下文是不可分离地链接的,因此对象指针用作上下文和窗口句...转载 2019-11-15 23:45:07 · 1102 阅读 · 0 评论 -
向量在openGL中的使用
https://blog.csdn.net/gaojinjingg/article/details/53159187转载 2019-11-04 23:21:21 · 259 阅读 · 0 评论 -
OpenGL模型加载
一、对于没有贴图的3D模型(我喜欢用obj格式的,最古老,也最简单)。用3Dmax转换成obj格式的模型,转换过程中,如果不需要纹理贴图就不勾选(一般工业3d模型都不需要贴图,毕竟不需要好看),还有一个要注意的点,就是,模型的缩放比例。模型的缩放:1. 先设置为1.0(在原本不知道模型多大的情况下);2. 然后打开转化后的obj文件,可以查看到顶点信息(v–vertex),例如顶点大多是20...原创 2019-11-02 23:27:42 · 872 阅读 · 0 评论 -
OpenGL常用的函数记录
glm::normalize(vector)-----标准化向量glm::cross(vector1,vector2)-----向量的×乘原创 2019-11-01 11:57:29 · 289 阅读 · 0 评论