![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenGL
WYN的养生之道
这个作者很懒,什么都没留下…
展开
-
OpenGL坐标变换过程(vertex transformation)
原博客: http://blog.csdn.net/wangdingqiaoit/article/details/51594408写在前面 前面几节分别介绍了模型变换,视变换,以及给出了投影矩阵和视口变换矩阵的推导,本节从全局把握一遍OpenGL坐标转换的过程,从整体上认识坐标变换过程。相关矩阵的数学推导过程请参考前面几节对应的内容。通过本节可以了解到坐标变换的各个转载 2017-11-09 23:08:32 · 417 阅读 · 0 评论 -
OpenGL--材质
目录(?)[+]一、 材质通过为每个元素指定一个颜色,我们已经对物体的颜色输出有了精密的控制。现在把一个镜面高光元素添加到这三个颜色里,这是我们需要的所有材质属性:#version 330 corestruct Material{ vec3 ambient; vec3 diffuse; vec3 specular; float转载 2017-11-11 00:57:09 · 671 阅读 · 0 评论 -
OpenGL--纹理
目录(?)[+]一、 纹理1. 基础纹理 纹理是一个2D图片(甚至也有1D和3D的纹理),它可以用来添加物体的细节。除了图像以外,纹理也可以被用来储存大量的数据,这些数据可以发送到着色器上。 纹理坐标 纹理坐标(Texture Coordinate),用来标明该从纹理图像的哪个部分采样(译注:采集片段颜色)。纹理坐标在x和y轴上,范围为0到1之间转载 2017-11-11 00:50:52 · 460 阅读 · 0 评论 -
OpenGL--光照基础
目录(?)[+]一、 颜色当我们把光源的颜色与物体的颜色相乘,所得到的就是这个物体所反射该光源的颜色(也就是我们感知到的颜色)。二、 光照基础光照模型都是基于我们对光的物理特性的理解。其中一个模型被称为冯氏光照模型(Phong Lighting Model)。冯氏光照模型的主要结构由3个元素组成:环境(Ambient)、漫反射(Diffuse)和镜面转载 2017-11-11 00:56:06 · 365 阅读 · 0 评论 -
OpenGL--绘制和混合
目录(?)[+]绘制OpenGL几何图元在使用OpenGL在计算机屏幕上进行绘图时不需要从一个点的绘制开始。我们关心的不是物理屏幕坐标和像素,而是视景体中的位置坐标,我们将从7个由定义的几何图元来开始绘制实心几何图形:图元描述GL_POINTS每个顶点在屏幕上都是一个单独的点GL_L转载 2017-11-11 00:58:25 · 381 阅读 · 0 评论 -
OpenGL--着色器
原博客:http://blog.csdn.net/ylbs110/article/details/52145794目录(?)[+]一、 着色器1. GLSL一个典型的着色器有下面的结构:#version version_numberin type in_variable_name;in type in_variable_转载 2017-11-11 00:48:50 · 429 阅读 · 0 评论 -
OpenGL--变换
目录(?)[+]变换向量向量有一个方向(Direction)和大小(Magnitude,也叫做强度或长度)。向量可以在任意维度(Dimension)上。由于向量表示的是方向,起始于何处并不会改变它的值。我们通常设定这个方向的原点为(0,0,0),然后指向对应坐标的点,使其变为位置向量(Position Vector)来表示(你也可以把起点设置为其他的点。转载 2017-11-11 00:52:05 · 371 阅读 · 0 评论 -
OpenGL--摄像机
目录(?)[+]一、 摄像机1. 摄像机/观察空间定义一个摄像机,我们需要一个摄像机在世界空间中的位置、观察的方向、一个指向它的右测的向量以及一个指向它上方的向量。 摄像机的位置 获取摄像机位置很简单。摄像机位置简单来说就是世界空间中代表摄像机位置的向量。我们把摄像机位置设置为前面教程中的那个相同的位置:glm::vec3 cameraPos =转载 2017-11-11 00:54:09 · 358 阅读 · 0 评论 -
OpenGL--坐标
目录(?)[+]一、 坐标系统将坐标转换为标准化设备坐标,接着再转化为屏幕坐标的过程通常是分步,也就是类似于流水线那样子,实现的,在流水线里面我们在将对象转换到屏幕空间之前会先将其转换到多个坐标系统(Coordinate System)。将对象的坐标转换到几个过渡坐标系(Intermediate Coordinate System)的优点在于,在这些特定的坐标系统中转载 2017-11-11 00:53:01 · 294 阅读 · 0 评论 -
OpenGL--绘制基础图形
原博客:http://blog.csdn.net/ylbs110/article/details/52074826目录(?)[+]笔记摘自:https://learnopengl-cn.github.io/ 侵删一、 基础1. 渲染流程3D坐标转为2D坐标的处理过程是由OpenGL的图形渲染管线管理的。管线:Graph转载 2017-11-11 00:35:25 · 488 阅读 · 0 评论 -
error LNK2001:无法解析的外部符号 __imp____glewCreateShader
原博客:http://blog.csdn.net/cgcoder/article/details/80409651>main.obj : error LNK2001: unresolved external symbol __imp____glewAttachShader1>main.obj : error LNK2001: unresolved external symbol转载 2017-11-11 00:24:19 · 2247 阅读 · 0 评论 -
OpenGL+VS2015相关类库配置
原博客:http://blog.csdn.net/brillianteagle/article/details/516232081 WiKiOpenGL一直是事实上的计算机图形学标准,截止2016年06月,OpenGL版本已经更新到4.5。不过DirectX发展迅速,大有OpenGL落后的态势,知乎上的该话题的讨论:https://www.zhihu.com/que转载 2017-11-11 00:20:49 · 307 阅读 · 0 评论 -
OpenGL--变换,矩阵,更多对象
目录(?)[+]变换进行图形开发,3D图形数学基础是必不可少,限于其专业性,OpenGL笔记里不做详细赘述。但是对相关术语及其在OpenGL对应的内容还是需要一定的了解。基础向量点乘 两个(三分量)单位向量之间的点乘运算将得到一个标量(只有一个值),它表示两个向量之间的夹角。要进行这种运算,这两个向量必须为单位长度,而返回的结果将在-1.转载 2017-11-11 00:59:31 · 323 阅读 · 0 评论 -
OpenGL--纹理2
目录(?)[+]原始图像数据像素包装图像数据在内存中很少以紧密包装的形式存在。在许多硬件平台上,处于性能上的考虑,一幅图像的每一行都应该从一种特定字节对齐地址开始。绝大多数编译器会自动把变量和缓冲区放置在一个针对该架构对齐优化的地址上。 例如一个包含3个分量的rgb图像,每个分量存储在一个字节中,如果图像有199个像素,那么一行需要597个像素。如果硬件转载 2017-11-11 01:01:27 · 500 阅读 · 0 评论 -
OpenGL--着色器2
目录(?)[+]初识着色器语言变量和数据类型可用的数据类型只有4种:有符号整数,无符号整数,浮点数,布尔值。 OpenGL着色语言中没有指针和字符串或字符。返回值可以为void。向量类型所有4种基本数据类型都可以存储在二维、三维或者四维向量中: OpenGL着色语言向量数据类型类型描述转载 2017-11-11 01:03:03 · 603 阅读 · 0 评论 -
OpenGL ES--glUniform函数
原博客:http://blog.csdn.net/wangyuchun_799/article/details/7742787函数名:glUniform功能:为当前程序对象指定Uniform变量的值。(译者注:注意,由于OpenGL ES由C语言编写,但是C语言不支持函数的重载,所以会有很多名字相同后缀不同的函数版本存在。其中函数名中转载 2017-11-10 10:50:15 · 173 阅读 · 0 评论 -
OpenGL 矩阵变换GLM库的使用
原博客:http://blog.csdn.net/qq_23225317/article/details/65937396include “glm/glm.hpp”include “glm/gtc/matrix_transform.hpp”若未特别说明,以下示例均假设矩阵/向量为四维 glm::mat4 mat; glm::vec4 vec; 对于vec来转载 2017-11-10 10:55:45 · 773 阅读 · 0 评论 -
glm库 使用说明
OBJ文件: 这里的OBJ文件是Wavefront公司的一种3D模型文件,不是VC在连接过程中产生的OBJ文件。GLM实现了用C语言对OBJ文件的常用操作,用于简单的3D游戏编程应该足够了。3DS MAX,MAYA都可以把模型以OBJ文件格式导出。OBJ文件中包含模型的顶点,面,三角形,法向,纹理坐标等数据,但是其中不包含纹理和材质。材质可以放在OBJ文件中指定一个材质库文件中,使用时材质库文转载 2017-11-10 11:01:58 · 1992 阅读 · 0 评论 -
OpenGL光源光照基础
光照模型在OpenGL光照模型中,除非一个物体自己会发光,否则它将受到3种不同类型的光的照射:环境光(ambient)、散射光(diffuse)和镜面光(specular)。全局环境光在我们没有用到光照之前,我们也能够看到场景中绘制的物体,原因是每个场景都有这个全局环境光,它不来自任何特定的光源。环境光(ambient)环境光并不来自任何特定的方向。它来自某个光源,但光线却是在房间或场转载 2017-11-10 11:22:25 · 724 阅读 · 0 评论 -
OpenGL开发库的详细介绍
原博客:http://blog.csdn.net/yqxx/article/details/382519OpenGL开发库的组成开发基于OpenGL的应用程序,必须先了解OpenGL的库函数。它采用C语言风格,提供大量的函数来进行图形的处理和显示。OpenGL库函数的命名方式非常有规律。所有OpenGL函数采用了以下格式库前缀有gl、glu、aux、gl转载 2017-11-10 11:31:29 · 241 阅读 · 0 评论 -
glew库安装和初始化
原博客:http://blog.csdn.net/u010281174/article/details/45848003GLEW库安装和初始化 GLEW库是OpenGL的扩展库,用于支持OpenGL1.1以上的版本[0]。比如着色器特性。一般非集成显卡都能支持到OpenGL2.0或者更高,但是没有GLEW库依然无法调用高版本OpenGL的函数。GLE转载 2017-11-10 23:45:59 · 1501 阅读 · 0 评论 -
glut教程--基本的启动建立窗口的简单渲染图形例子
GLUT教程在这个部分我们将在我们的程序里建立一个main函数,这个main函数将完成必须的初始化和开启事件处理循环。所有的GLUT函数都有glut前缀并且那些完成一些初始化的函数有glutInit前缀。你首先要做的是调用函数glutInit()。 void glutInit(int*argc,char**argv); 参数: Argc:一个指针转载 2017-11-10 11:51:52 · 302 阅读 · 0 评论 -
glut常用库函数
转自:http://blog.sina.com.cn/s/blog_5f0d72800100iajl.htmlGLUT函数说明一、初始化void glutInit(int* argc,char** argv)这个函数用来初始化GLUT库。对应 main 函数的形式应是: int main(int argc,char* argv[]);这个函数从 main 函转载 2017-11-10 11:34:05 · 1324 阅读 · 0 评论 -
OpenGL 数据类型
首先我们要讨论的是OpenGL的数据类型。因为OpenGL是一个跨平台的API,数据类型的大小会随使用的编程语言以及处理器(64位,32位,16位)等的不同而不同,所以OpenGL定义了自己的数据类型。当传递数据到OpenGL时,你应该坚持使用这些OpenGL的数据类型,从而保证传递数据的尺寸和精度正确。不这样做的后果是可能会导致无法预料的结果或由于运行时的数据转换造成效率低下。不论平台或语言实现转载 2017-11-08 22:34:00 · 529 阅读 · 0 评论 -
OpenGL--高级纹理知识
目录(?)[+]矩形纹理纹理目标为GL_TEXTURE_RECTANGLE。 首选,矩形纹理不能进行Mip贴图; 然后,矩形纹理不是标准化的(实际上是对像素寻址) 最后,纹理坐标不能重复,并且不支持纹理压缩加载矩形纹理bool LoadTGATextureRect(const char *szFileName, GLenum minFilte转载 2017-11-11 01:04:12 · 450 阅读 · 0 评论 -
OpenGL程序中与glew相关的未处理异常的解决方案
问题:程序中已经正确包含glew相关的头文件和库文件,glew也已经通过glewInit()正确初始化,程序运行到glGenVertexArrays处时仍然出现运行时错误:***.exe(某opengl可执行程序)中的0x********(某内存地址) 处有未处理的异常: Ox********: Access violation尤其是针对// Create a ve转载 2017-11-15 14:46:42 · 472 阅读 · 0 评论