![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenGL
xx润物细无声
这个作者很懒,什么都没留下…
展开
-
int can't be an in in the fragment shader
openGLES中向片段着色器中传入的数不能为int类型?out intf;(顶点着色器)in int f;(片段着色器)改为:flat out intf;(顶点着色器)flatin int f;(片段着色器)就通过了。原因是片段着色器中的内容会被插值,而int不能被插值,前面加个flat来告诉编译器不被插值。...原创 2019-12-12 18:54:02 · 191 阅读 · 0 评论 -
3D坐标在二维屏幕上的映射
三维空间的物体点坐标设为(x,y,z),求解其在屏幕上的映射点,需要的输入为:三维坐标点、pvm矩阵(projection * view * model)、渲染屏幕的宽高及起始点(left,up,width,height)。cv::Point ptCast(Vec3f pos3D, int* viewPort, float* pmv){ GLKMatrix4 pmv...原创 2019-09-27 15:52:04 · 2317 阅读 · 3 评论 -
几何着色器输入输出记录
输入:points 对应GL_POINTSlines 对应GL_LINES、GL_LINE_STRIPlines_adjacency 对应GL_LINES_ADJACENCY、GL_LINE_STRIP_ADJACENCYtriangles ...原创 2019-09-25 18:37:18 · 248 阅读 · 0 评论 -
Linux下3D离屏渲染(可通过ssh操作)
Linux下3D离屏渲染网上有好多3D渲染的例子,包括IOS、Android以及带Linux、windows上带窗口的。linux下真正离屏渲染的例子少之又少,我这里说的离屏是不依赖X Server,即ssh即可运行,当然渲染得到的图片要保存下来,否则没有意义。回顾我之前进行openGL渲染使用的是glew、glfw库,其中有以下这样一段代码: GLFWwindow* window; ...原创 2019-07-02 17:46:11 · 3070 阅读 · 4 评论 -
glPointSize()未起作用 glDrawElements
glPointSize(GLfloat size);glDrawElements(GL_POINTS,...)画点默认点的半径为一个像素,因此去查询得知使用这个函数可以设置画出的点的大小,size为点的半径(以像素为单位),试了好久未生效。Google后得出结论:OpenGL ES 2.0版本后glPointSize()改为了在顶点着色器上设置gl_PointSize。out gl_P...原创 2019-04-24 17:10:48 · 1952 阅读 · 0 评论 -
IOS opengl离屏渲染并截图
环境:IOS依赖库:GLKit目标:借助openGL离屏渲染在不影响前端展示的情况下渲染出所需要的模型并截图保存(因为前端展示的和需要的图片背景、角度等参数不同)//print screen when model rotates to anglevoid printScreen(GLint* viewPort, const char* fileName){ GLbyte...原创 2019-04-15 17:24:05 · 1462 阅读 · 3 评论 -
openGLES矩阵操作、向量点积等函数
OpenGLES着色语言内建函数1 角度和三角函数 标识为angle的函数参数假定以弧度为单位。这些函数不可能出现被0除的情况,如果被除数为0,结果是未定义的。 radian函数是将角度转换为弧度,degrees函数是将弧度转换为角度。sin, cos, tan都是标准的三角函数。asin, acos, atan是反三角函数。genType有点像面向...转载 2019-02-20 13:48:12 · 665 阅读 · 0 评论 -
3D模型、视图、投影矩阵原理
上篇文章 https://blog.csdn.net/x2017x/article/details/86750901 讲述了3D渲染用到的库以及一些调用方法,本篇将对3D渲染中的几个变换矩阵原理的理解记录下来。 projection * view * model * vec4(pos...原创 2019-02-15 10:56:35 · 2330 阅读 · 2 评论 -
openGL图像(含3D)渲染相关库
1、几个常用的库和概念: openGLES,opengl的嵌入式设备版本 glut(OpenGL Utility Toolkit),一个处理OpenGL程式的工具库,负责处理和底层操作系统的呼叫以及I/O freeglut,开源的替代glut的库 glfw,和freeglut差不多,根据喜好习惯选取 glm(OpenGL Mathemat...原创 2019-02-03 11:06:10 · 790 阅读 · 0 评论 -
Mac搭建OpenGL三维渲染环境
为搭建opengl三维渲染环境,学习理解opengl渲染过程,从零开始,从基础开始,从环境搭建开始。环境:Mac系统库:glew(以便在windows平台扩展,windows只支持到openGL1.1函数) glfw(跨平台,处理和底层操作系统的呼叫及IO,功能类似freeglut) SOIL(Simple OpenGL Image Library)...原创 2018-12-26 11:15:57 · 729 阅读 · 0 评论