![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenGL
-yanhui-
这个作者很懒,什么都没留下…
展开
-
GLSL(着色器语言)中的内置函数
x*y: 如果x和y都是向量,那么该运算符进行的是逐分量的相乘计算;如果是矩阵相乘,那么该运算符会返回一个线性相乘(线性代数中正常的矩阵乘法)的矩阵,而不是一个逐分量的相乘结果(如果想得到的是逐分量的相乘结果,那就需要使用matrixCompMult函数)。dot(x,y): 返回同维度的两个向量的点乘积(标量)。cross(x,y):返回两个向量的叉乘结果(向量),x和y必须都是vec3...原创 2018-10-22 18:12:44 · 2980 阅读 · 0 评论 -
OpenGL的环境光、点光源、聚光灯、方向光、材质的定义。
一个模型受光照后最终呈现的颜色,由三种因素决定:光的种类、物体表面的材质。对以上三种影响因素进行分类:常见的光被分为4种、物体表面的材质通常受2种因素影响(漫反射和镜面反射)。光的定义有很多参数可以调整,而且一个三维场景中还可以放入很多种类的光、影响材质的漫反射和镜面反射也有很多参数可以调整。所以,最终呈现出的效果是可以有很多种情况的。4种常见光分别为:环境光:影响因素为强度、颜色。...原创 2018-10-22 20:02:03 · 5360 阅读 · 0 评论 -
OpenGL开发利用lwjgl类库绘制一个三角形
在绘制三角形之前,需要创建一个OpenGL上下文(Context)和一个用于显示的窗口。然而,这些操作在每个系统上都是不一样的,OpenGL将这部分抽离了出去。GLFWGLFW是一个专门针对OpenGL的C语言库,它提供了一些渲染物体所需的最低限度的接口。它允许用户创建OpenGL上下文,定义窗口参数以及处理用户输入。一、只绘制渲染窗口的代码如下import org.lwjgl.glfw...原创 2018-10-23 18:46:29 · 1543 阅读 · 1 评论 -
OpenGL中环境光、漫反射、镜面反射对光的影响(如何被抽象成向量进行着色的)
文章目录Phong算法中影响光照的三个因素环境光对其他光线的影响漫反射对光线的影响镜面反射对光线的影响Phong着色算法将模拟光对模型中每个顶点的影响。所以这个算法没法考虑阴影,它只会计算应用于每个顶点的光线,而不考虑顶点是否位于阻挡光线的物体后面。但是,正因为如此,这是一种非常简单快速的算法,可以提供非常好的效果。关于光的种类可以参考这篇文章OpenGL的环境光、点光源、聚光灯、方向光、材...原创 2018-10-26 17:32:33 · 6161 阅读 · 0 评论 -
OpenGL开发关于VAO和VBO的理解
先创建窗口:public class Demo01_open_window { public static void main(String[] args){ glfwInit();//初始化 glfwWindowHint(GLFW_VISIBLE, GL_FALSE);//设置窗口的可见性为false glfwWindow...原创 2018-10-24 23:14:42 · 7337 阅读 · 1 评论 -
OpenGL中涉及到的矩阵变换
文章目录1、局部坐标系2、世界坐标系2.1 为什么要用矩阵?2.2 模型矩阵(Model Matrix)3、视图坐标系3.1 视图坐标系的定义3.2 视图矩阵4、投影坐标系5、屏幕坐标系先看两个问题:我们有什么?答:模型的初始位置坐标(三维坐标)。我们要得到什么?答:我想要把模型展示在屏幕上展示的二维坐标(二维坐标)。从初始位置坐标到平面的二维坐标经过了下面的流程,后面逐一介绍。1...原创 2018-11-04 20:56:33 · 10862 阅读 · 3 评论 -
图形变换中涉及到的数学知识(向量叉乘、矩阵相乘、齐次坐标)
文章目录1. 向量1.1 点乘1.2 叉乘2. 矩阵3. 齐次坐标1. 向量1.1 点乘两个n维向量点乘:二维向量的点乘:向量的模长相乘再乘以夹角余弦值。点乘的结果是一个数值(标量)。几何意义:b向量再a向量上的投影长度。1.2 叉乘结果:是一个向量(矢量)。几何意义:向量a和向量b叉乘的2. 矩阵2.1 矩阵乘法n维矩阵的乘法运算。举例:3. 齐次...原创 2018-11-04 21:37:06 · 4937 阅读 · 0 评论 -
Ubuntu上配置编译GLFW并运行实例
文章目录1. 下载GLFW包2. 编译3. Ubuntu下直接运行实例4. 利用Clion运行实例1. 下载GLFW包进入家目录:cd ~,也可以放在自己的文件夹中,用来放GLFW的压缩文件。GLFW的下载地址点击这里解压GLFW,unzip glfw-3.2.1.zip会在当前目录生成一个同名文件夹中,内容如下。2. 编译进入解压目录cd ~/glfw-3.2.1...原创 2018-11-05 12:03:07 · 3542 阅读 · 0 评论