E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
opengl学习
openGL学习
笔记5(光照)
以下内容从《openGL入门教程》整理而来~~~~看一张图片:图中绘制了两个大小相同的白色球体。其中右边的一个是没有使用任何光照效果的,它看起来就像是一个二维的圆盘,没有立体的感觉。左边的一个是使用了简单的光照效果的,我们通过光照的层次,很容易的认为它是一个三维的物体眼睛之所以看见各种物体,是因为光线直接或间接的从它们那里到达了眼睛。人类对于光线强弱的变化的反应,比对于颜色变化的反应来得灵敏。因此
timidsmile
·
2020-06-26 19:47
openGL
openGL学习
笔记3(三维场景变换简介)
注意:以下内容来自《OpenGL入门教程》选取一部分内容学习学习~~~在前面绘制几何图形的时候,大家是否觉得我们绘图的范围太狭隘了呢?坐标只能从-1到1,还只能是X轴向右,Y轴向上,Z轴垂直屏幕。这些限制给我们的绘图带来了很多不便。我们生活在一个三维的世界——如果要观察一个物体,我们可以:1、从不同的位置去观察它。(视图变换)2、移动或者旋转它,当然了,如果它只是计算机里面的物体,我们还可以放大或
timidsmile
·
2020-06-26 19:47
图形
openGL
OpenGL学习
三十四:剪裁区域和TGA图像文件的加载
(此节内容对应NEHE教程第24课)应用.tga文件作为纹理数据来源进行纹理贴图.tga图像文件数据格式:0~~11头信息12~13图像宽度byte[13]*256+byte[12]14~15图像高度byte[15]*256+byte[14]16图像每像素存储占用位(bit)数24或3218~end图片数据域数据格式为GBRA,特殊需要需要转换图片总大小=图像宽度*图像高度*(图像每像素存储占用位
star198505
·
2020-06-26 19:08
OpenGL
OpenGL
图形
OpenGL学习
二十一:纹理坐标
在纹理贴图场景时,必须为每个顶点提供物体坐标和顶点坐标,经过变换之后,物体坐标决定了应该在屏幕上的那个地点渲染每个特定的顶点,纹理坐标决定了纹理图像中的那个纹理单元将分配给这个顶点voidglTexCoord{1,2,3,4}{sifd}(Typecoords);纹理的放大与缩小1.原始大小glTexCoord2f(0.0f,0.0f);glVertex2f(-1.0f,-1.0f);glTexC
star198505
·
2020-06-26 19:07
OpenGL
OpenGL学习
二十四:绘制像素,位图,图像
除了几何图形的渲染,还有两种重要的类型的数据渲染位图:由0和1组成的矩形数组(采用黑白,0为黑1,为白)图像数据:每个像素包含好几段数据(RGBA)当前光栅位置当前光栅位置就是开始绘制下一副位图或图像的屏幕位置,光栅坐标需要经过模型投影矩阵变换glRasterPos{234}{sifd}(TYPEx,TYPEy,TYPEz,TYPEw);当前窗口位置glWindowPos{23}{sifd}(TY
star198505
·
2020-06-26 19:07
OpenGL
OpenGL学习
十六:纹理绑定
前面介绍的都是给图元添加颜色,纹理绑定介绍的是如果把图片绑定到图元,主要步骤如下:(这里这是简单介绍,后续详细说明)1.生成纹理IDglGenTextures(1,&texture[0]);2.创建纹理对象glBindTexture(GL_TEXTURE_*D,texture[0]);3.指定纹理内容glTexImage*D();4.指定纹理属性glTexParameteri(…,......,…
star198505
·
2020-06-26 19:37
OpenGL
OpenGL学习
二十:纹理函数
通过纹理函数(glTexEnv*())可以把纹理图像的颜色与物体表面的原先的颜色进行混合当我们指定纹理数据时,其第三个参数internalformat可以简化为6种格式基本内部格式所提取的源颜色(R,G,B,A)GL_ALPHA(0,0,0,A)GL_LUMINANCE(L,L,L,1)GL_LUMINANCE_ALPHA(L,L,L,A)GL_INTENSITY(I,I,I,I)GL_RGB(R
star198505
·
2020-06-26 19:37
OpenGL
OpenGL学习
二十五:像素存储模式
内存对齐:字长32位的计算机上,如果数据在内存中按照32位的边界对齐(地址为4字节的倍数),那么硬件提取数据的速度就会快得多,类似的在64位计算机上,如数据地址按照8字节对齐,他对数据存取效率会非常高举例:图像每行按照4字节方式进行存储,如果图像宽度是5个像素。RGB各占一个字节,那么每行=5*3=15个字节,按照4字节方式存储每行会浪费一个自己的存储空间如果每行按照1字节方式存储,每一行的数据都
star198505
·
2020-06-26 19:37
OpenGL
OpenGL学习
三十:深度缓冲区与掩码
深度缓冲区进行三维混合多边形的绘图顺序极大地影响了最终的混合效果。为了应对不同深度的图形显示我们要开启深度缓冲区glEnable(GL_DEPTH_TEST);对已开启深度缓冲区的图形来说,如果一个不透明的物理如果举例观察点较近,那么它所遮挡的部分就不会进行绘制对于存在透明度的图形来说要复杂一些,如果一个透明的物体靠近距离观察点较近。那么它所遮挡的部分也是需要绘制的对于透明的图形绘制需要设置深度缓
tiankefeng0520
·
2020-06-26 19:36
OpenGL
OpenGL学习
三:绘制矢量图形模型
glBegin(GL_TRIANGLES);glVertex3f(0.0f,1.0f,0.0f);glVertex3f(-1.0f,-1.0f,0.0f);glVertex3f(1.0f,-1.0f,0.0f);glEnd();beginend中间是构成矢量图形的点#defineGL_POINTS0x0000#defineGL_LINES0x0001#defineGL_LINE_LOOP0x000
tiankefeng0520
·
2020-06-26 19:36
OpenGL
OpenGL学习
二十三:多重纹理
在进行纹理贴图是,一次是把一副图像应用在个一个多边形上,多重纹理允许应用几个纹理,在纹理操作管线上把它们逐个应用到同一个多边形上使用glGetIntegerv(GL_MAX_TEXTURE_UNITS)查询当前OPENGL最多支持纹理数量多重纹理的步骤1.建立纹理单元纹理图像glTexImage2D纹理过滤glTexParameteri(…,GL_TEXTURE_MAG_FILTER,…);纹理环
tiankefeng0520
·
2020-06-26 19:06
OpenGL
OpenGL学习
十七:纹理贴图
纹理贴图的步骤1.创建纹理对象,并为它指定一个纹理,纹理包含1维,2维,3维。描述纹理的数据由1~4个元素组成,用于表示RGBA四元组。调整常量或者深度成分glGenTextures(1,&texture[0]);glBindTexture(GL_TEXTURE_2D,texture[0]);2.确定纹理如何应用到每个像素上glTexEnvf(GL_TEXTURE_ENV,GL_TEXTURE_E
tiankefeng0520
·
2020-06-26 19:05
OpenGL
OpenGL学习
笔记三(编译着色器)
运行着色器程序ps:大部分出自(LearnOpenGL)上一篇(
OpenGL学习
笔记二(着色器))说到什么是着色器,如何写着色器,这次我们要开始运行我们写好的着色器代码了着色器程序的创建与C/C++程序的创建相似
Love柒
·
2020-06-26 10:23
OpenGL
OpenGL学习
笔记二(着色器)
OpenGL的着色器语言(GLSL)ps:本篇大部分摘抄自LearnOpenGL在说OpenGL的着色器语言之前先来介绍一下着色器到底是个什么东西。在学unity3d的时候就听说有人说能写shader和做图形渲染优化的人都是大神,当时没学过着色器一听就感觉不明觉厉啊,先送上膝盖再说。现在学了着色器当然还是感觉一脸懵逼Orz。这时就该祭出无上法典《计算机图形学》,没错就是这本书,看不懂shader、
Love柒
·
2020-06-26 10:22
OpenGL
OpenGL学习
笔记四(多边形)
QT中的OpenGL之多变形QT中的OpenGLOpenGL点线绘制OpenGL多边形绘制在QT中的OpenGL模块中,使用OpenGL是比较简单的,只需要在你创建的项目中添加QOpenGLWidget和QOpenGLFunctions就可以使用OpenGL基本上所有的功能。#include#include在QT中使用OpenGL绘制点线也非常简单。在开始绘制点线之前有几个函数是必须实现。void
Love柒
·
2020-06-26 10:52
OpenGL
OpenGL学习
笔记五(坐标转换)
屏幕坐标转OpenGL坐标这几天在使用QT进行OpenGL编程时,遇到一个坐标转换问题,在QT的窗体中用localPos()获取到的坐标只是windows窗体设备的坐标并不能使用到OpenGL中,因为OpenGL坐标的原点在左下角位置,而Windows设备坐标的原点却是任意的。所以需要进行坐标转换。使用坐标时有两种思路,一种是把设备坐标转换为OpenGL坐标来使用,一种是OpenGL坐标转换为Wi
Love柒
·
2020-06-26 10:52
OpenGL
现代
OpenGL学习
笔记四:纹理
上篇笔记中学习了如何编写自己的着色器类,从而改变用constchar*的字符串的形式编写顶点和片段着色器,提高了代码的编写效率,本次继续学习纹理部分,并将不懂的地方进行说明记录。推荐参考原文:https://learnopengl-cn.github.io/https://learnopengl-cn.github.io/01%20Getting%20started/06%20Textures/纹
shs1992shs
·
2020-06-26 09:06
OpenGL
现代
OpenGL学习
笔记三:深入理解着色器
上篇笔记学习了现代OpenGL绘制第一个三角形,学习使用VAO,VBO以及EBO绘制三角形,同时学会了使用多个VAO,VBO;多个片段着色器。现在开始深入学习着色器,将其中不懂的地方通过查缺补漏加深理解。推荐参考原文:https://learnopengl-cn.github.io/https://learnopengl-cn.github.io/01%20Getting%20started/05
shs1992shs
·
2020-06-26 09:06
OpenGL
OpenGL学习
笔记之 uniform blocks
构建Uniformblocks,将此结构数据存入bufferobject,性能会有很大的提高。这篇对uniformbufferobject的std140规则,uniformblock赋值讲解的非常详细https://learnopengl.com/#!Advanced-OpenGL/Advanced-GLSL记录下书中的例子。以下是vertextShader:#version440coreinve
搬累了歇会
·
2020-06-26 09:51
OpenGL
OPenGL学习
(一)OPenGL基本用法
OPenGL学习
(一)OPenGL基本用法OPenGL基本语法OPenGL包括4个库,基本库gl.h(核心库),实用函数库GLU.h,实用工具库glut.h,辅助库glaux.h。
qq_43269712
·
2020-06-26 01:43
OPenGL学习
OpenGL学习
之旅(四)—visual studio下glfw、glad的配置
visualstudio下glfw、glad的配置之前已经进行了VS2010下的OpenGL的glut环境搭建,可是看到现在专业的学习网站learnOpenGL采用的是OpenGL3.3和GLFW的学习指导,为此,我今天特意重新配置了一下编程环境。看到各个大佬给出的配置方案,小白想整个简洁点的,刚好我的VS版本最低,可以当做实验。GLFWGLFW是一个专门针对OpenGL的C语言库,它提供了一些渲
最近在搞OpenGL
·
2020-06-25 23:57
小白大战OpenGL
opengl
图形学
visual
studio
OpenGL学习
之旅(五)——Learn OpenGL第一个窗口代码解读
LearnOpenGL第一个窗口代码解读之前我搭建好了各类环境,以及一些简单的基础理论的学习,但作为一个工程问题,敲代码也需要同步跟进呢。为此,我选择了learnOpenGL网站里的窗口代码进行从头学习,并参照文档在我的代码里进行解释学习。若有不足之处,还请大家支教交流呢。#include//glad头文件包含了正确的OpenGL头文件,所以需要在其他依赖于OpenGL的头文件之前包含glad#i
最近在搞OpenGL
·
2020-06-25 23:26
小白大战OpenGL
opengl
c++
图形学
OpenGL学习
之旅(三)——Bezier曲线理论与OpenGL实现
Bezier曲线理论与OpenGL实现在专栏的第二节中,我简单梳理了计算机图形学当中简单的数理知识和常见的图形学概念。考虑到后期的具体项目——曲面造型,我准备抽出几节特意学习和整理了一下经常用到的样条曲线、曲面的理论知识和实现,今天写个博客来整理一下Bezier曲线的理论以及代码实现。01样条曲线、曲面概念在绘图术语中,**样条是通过一组指定点集而生成平滑曲线的柔性带。**当绘制曲线时,几个较小
最近在搞OpenGL
·
2020-06-25 23:26
小白大战OpenGL
OpenGL学习
之使用glm库实现变换
一、glm简介glm常用三维数据类型vec2二维向量vec3三维向量vec4四维向量mat2二阶矩阵mat3三阶矩阵mat4四阶矩阵常用的函数glm::radians()角度制转弧度制glm::translate()创建一个平移矩阵,第一个参数是目标矩阵,第二个参数是平移的方向向量glm::rotate()创建一个将点绕某个轴旋转x弧度的旋转矩阵,第一个参数是弧度,第二个参数是旋转轴glm::sc
Estelle_Z
·
2020-06-25 21:16
opengl学习
glm
OpenGL学习
之投光物
本文参考LearnOpenGLCN在前面的章节中,我们使用的实际上都是点光源,除了点光源之外,还有平行光,聚光灯。平行光平行光的特点是光的方向几乎都平行,只有一个方向,这是为了模拟光源在无限远处的情景,例如太阳光。平行光一般不考虑光的衰减,它与光源位置无关,我们只需为它指定方向即可。一般情况下,我们指定光源时,习惯从光源指向物体,而在计算光照时,又需要从物体指向光源的方向,因此需要做一个反转。我们
Estelle_Z
·
2020-06-25 21:16
opengl学习
OpenGL学习
之光照贴图
在上一节中,我们提到不同的物体对光有不同的反应,实际上同一物体的部分往往不是同一种材料构成的,比如汽车的车身喷漆之后往往很光亮,车窗会部分反射周围的环境,而轮胎的橡胶部分则比较暗淡。为了更好的模拟现实中的物体接受光照效果,我们应该为物体的不同部分指定不同的材质属性,而不是整个物体共用一个材质。不同的部分对应不同的材质,这有点类似于根据纹理坐标获取不同的纹素,我们采用与纹理坐标类似的lightmap
Estelle_Z
·
2020-06-25 21:16
opengl学习
OpenGL学习
之多光源
定向光首先我们定义一个LightDirection结构体和一个uniform变量structLightDirection{vec3pos;vec3color;vec3dirToLight;};uniformLightDirectionlightD;接下来我们将LightDirection传入CalcLightDirection函数vec3CalcLightDirection(LightDirect
Estelle_Z
·
2020-06-25 21:16
opengl学习
OpenGL学习
之环境搭建
搭建环境是学习OpenGL的第一步,对于新手来说是最折磨人,也是最最耗时的一步,会遇到各种错误与困难。我在这一步也是尝试了很多次,失败了很多次。在这里,推荐大家一个很好的学习OpenGL的网站:LearnOpenGLCN,它的原文是英文的,不过现在已经有了中文版的。一、OpenGL的特点1.OpenGL是一个跨语言和跨平台的图形编程接口,这个API用来与GPU交互,实现基于硬件加速的图形渲染。Op
Estelle_Z
·
2020-06-25 21:46
opengl学习
三维渲染
vs2015配置glad
vs2015配置glfw
OpenGl学习
笔记(九)基本光照的使用
基本光照一般指的是冯氏光照,冯氏光照一般由三个元素组成:环境(Ambient)、漫反射(Diffuse)和镜面(Specular)光照。如下图所展示的。环境光照(AmbientLighting):即使在黑暗的情况下,世界上也仍然有一些光亮(月亮、一个来自远处的光),所以物体永远不会是完全黑暗的。我们使用环境光照来模拟这种情况,也就是无论如何永远都给物体一些颜色。环境光照就是说一个问物体本来是什么颜
永远的小白虾
·
2020-06-25 20:58
OpenGl
OpenGL学习
笔记(十三)模型的加载
关于openGl模型的加载需要使用到Assimp库,非常喜闻乐见的是如果你用的编译器是Vs的话,就能通过NuGet直接获取到这个库,装载即可。我这里就不演示了!直接去网上搜索一下就知道怎么安装包了。根据上图,我们可以看到模型中有一个scene场景,然后左边的是则是各种节点,我们要的做就是遍历左边的接单获取到右边的数据。我们可以看到我们目前还缺少一个网格类。Mesh.h#pragmaonce#inc
永远的小白虾
·
2020-06-25 20:58
OpenGl
OpenGL
OpenGL学习
笔记(八)相机的控制
终于到了OpenGl入门教学的最后一章Camera,说真的,这个Camera是真的挺难的。话不多说,上代码吧!首先是先创建一个Camera类Camera.h#pragmaonce#include#includeclassCamera{public:Camera(glm::vec3position,glm::vec3target,glm::vec3worldUp);//通过目标点来控制视角Camer
永远的小白虾
·
2020-06-25 20:58
OpenGl
OpenGL学习
笔记(十二)多光源的使用
首先光源分为三种,分别是平行光,点光源,聚光源。平行光有些类似于我们自然界中见到的太阳。它的角度属性,会对光照的实际渲染效果有一定的影响,但是他的位置属性则完全无法影响光照的实际渲染效果。点光源则是有点类似于我们的灯泡,就是以一个点向四周发光。与平行光相反,它的角度属性会对光照的实际渲染效果毫无影响,但是他的位置属性则会影响光照的实际渲染效果。点光源衰减函数图聚光源则是类似于我们的手电筒,发射一道
永远的小白虾
·
2020-06-25 20:58
OpenGl
OpenGL学习
笔记目录(实时更新)
下面是我的
OpenGL学习
笔记的目录,会随着时间更新的。
永远的小白虾
·
2020-06-25 20:26
OpenGl
OpenGL学习
笔记(七)GLSL中的gl_Position
在编写顶点着色器的时候,遇到了一个变量gl_Position如下:#version330corelayout(location=0)invec3aPos;//位置变量的属性位置值为0outvec4vertexColor;//为片段着色器指定一个颜色输出voidmain(){gl_Position=vec4(aPos,1.0);//注意我们如何把一个vec3作为vec4的构造器的参数vertexCo
皮皮#2500
·
2020-06-25 20:24
OpenGL
计算机图形学
OpenGL学习
实验二——Bresenham画线算法的模拟
写在开头:相关实验是学校开设课程的相关实验,本人所作较为粗浅,若有同校师弟浏览,望看懂借鉴而非照搬全抄。实验目的:理解Bresenham画线算法实验内容:用Bresenham画线算法实现水平、垂直、斜率大于1、斜率小于1、斜率为正、斜率为负等各种情况(不能直接调用OpenGL画线函数)。实现效果及步骤(或流程)实现效果:绘制了一个大小为40×40网格图(坐标为0~39),用以模拟屏幕像素。以(20
临风浅吟
·
2020-06-25 13:47
OpenGL学习
笔记二十(延迟渲染)
延迟渲染正向渲染和延迟渲染延迟渲染的不足之处延迟渲染的步骤正向渲染与延迟渲染的结合使用正向渲染和延迟渲染目前使用光照对场景进行渲染的方案都是基于正向渲染和延迟渲染的。正向渲染(ForwardRendering)正向渲染是指每执行一次渲染命令,就会对需要渲染的物体进行光照着色,那么当场景中有m个光源,n个需要渲染的物体,那么时间复杂度就是O(m*n)。多光源时不适合使用正向渲染。延迟渲染(Defer
绿洲守望者
·
2020-06-25 11:56
OpenGL
OpenGL学习
笔记十六(帧缓存)
OpenGL学习
笔记十六(帧缓存)帧缓存的概念帧缓存的作用自定义帧缓存为帧缓冲分配空间渲染到纹理:渲染到RenderbufferObject:实战实例其他头文件引入请参考帧缓存的概念到目前位置,已经介绍了多种缓存
绿洲守望者
·
2020-06-25 11:55
OpenGL
OpenGL学习
笔记十二(深度测试)
OpenGL学习
笔记十二(深度测试)需要深度测试的原因深度测试函数比较函数清除深度缓存深度测试精确度及深度冲突需要深度测试的原因当我们渲染多个物体时,这多个物体之间存在互相遮挡的关系,被遮挡的物体的部分将不可见
绿洲守望者
·
2020-06-25 11:55
OpenGL
OpenGL学习
笔记六——光照
OpenGL学习
笔记六——光照原理介绍光的类型逐顶点光照逐像素光照OpenGL中实现光照实战代码——实现逐片元光照顶点着色器片元着色器原理介绍我们在现实生活中看到某一物体的颜色并不是这个物体真正拥有的颜色
绿洲守望者
·
2020-06-25 11:55
OpenGL
OpenGL学习
笔记三——引入GLM库,实现transform
OpenGL开发环境配置之GLMGLM库简介开发环境GLM库配置的两种方法方法一方法二GLM库简介GLM是OpenGLMathematics的缩写,它是一个只有头文件的库,也就是说我们只需包含对应的头文件就行了,不用链接和编译。GLM可以在它们的网站上下载。把头文件的根目录复制到你的includes文件夹,然后你就可以使用这个库了。==注意:==无法的可直接在github上的下载:地址或者使用链接
绿洲守望者
·
2020-06-25 11:55
OpenGL
OpenGL学习
笔记一——绘制两个三角形,理解VAO,VBO和EBO
OpenGL创建三角形的流程基础概念顶点数据VAO,VBO及EBO顶点着色器及片元着色器创建流程创建窗口创建窗口的核心函数:设置窗口大小分配/释放资源:创建顶点/片元着色器顶点着色器片元着色器创建着色器程序销毁着色器程序,创建完着色器程序之后便可销毁了将数据传给顶点着色器完整代码基础概念顶点数据我们在创建一个最基本的几何体时必须要告诉GPU要渲染的几何体的基本信息,包括顶点的坐标,颜色,法线,贴图
绿洲守望者
·
2020-06-25 11:55
OpenGL
OpenGL学习
之着色器与渲染管线
OpenGL学习
之着色器与渲染管线看此篇之前,请看https://blog.csdn.net/qq_36391075/article/details/81510754着色器与渲染管线渲染管线一般是有显示芯片
vivianluomin
·
2020-06-25 11:33
android
2018/7/21--
OpenGL学习
笔记(三)Texture/Transform
开篇的话:在学习完triangle之后学习别的,总是感觉,哇!这么好理解!这一张会有一个表情,为此我还连发了两条朋友圈请记住这个表情,因为你会使用它无数次。纹理(Texture)纹理是一个2D图片(甚至也有1D和3D的纹理),它可以用来添加物体的细节;你可以想象纹理是一张绘有砖块的纸,无缝折叠贴合到你的3D的房子上,这样你的房子看起来就像有砖墙外表了。因为我们可以在一张图片上插入非常多的细节,这样
G_Wen
·
2020-06-25 09:27
OpenGL
2018/7/22--
OpenGL学习
笔记(四)Coordinate Systems/Camera
开篇的话:计划今天把入门篇结束掉,自己也回顾了之前学的内容,接下来要学习下一章光照,光照学习完之后会接着更新光照篇的学习笔记!加油!其实很多内容在自己第一遍学习的过程当中未必能够完全理解,反而在写学习笔记的时候,能领悟到很多东西。这也是我学习完入门教程之后,加深理解的原因。当然也是自己第一次在CSDN上写点东西,尽管大部分内容都是教程翻译的,只不过自己在其中添加了自己的一些理解和标注。坐标系统(这
G_Wen
·
2020-06-25 09:54
OpenGL
2018/8/22--
OpenGL学习
笔记(九) Depth testing/Stencil testing
开篇的话:OK,这部分我们到了高级OpenGL,哇!终于看到高级部分了,心里还有点开心。深度测试在坐标系统小节中,我们渲染了一个3D箱子,并且运用了深度缓冲(DepthBuffer)来防止被阻挡的面渲染到其它面的前面。在这一节中,我们将会更加深入地讨论这些储存在深度缓冲(或z缓冲(z-buffer))中的深度值(DepthValue),以及它们是如何确定一个片段是处于其它片段后方的。深度缓冲就像颜
G_Wen
·
2020-06-25 09:54
OpenGL
2018/8/05--
OpenGL学习
笔记(七)Light Caster/Multiple Light
开篇的话:接着赶笔记,这篇写完正好回学校开始学习新的内容了。投光物将光投射(Cast)到物体的光源叫做投光物(LightCaster)。平行光(DirectionalLight)(我们通常用平行光来模拟太阳光线。)定义一个光线方向向量而不是位置向量来模拟一个定向光。着色器的计算基本保持不变,但这次我们将直接使用光的direction向量而不是通过direction来计算lightDir向量。str
G_Wen
·
2020-06-25 09:54
OpenGL
2018/8/22--
OpenGL学习
笔记(十) Blending/Face culing
开篇的话:其实混合和面剔除这两章内容还是蛮简单的。混合OpenGL中,混合(Blending)通常是实现物体透明度(Transparency)的一种技术。透明就是说一个物体(或者其中的一部分)不是纯色(SolidColor)的,它的颜色是物体本身的颜色和它背后其它物体的颜色的不同强度结合。一个有色玻璃窗是一个透明的物体,玻璃有它自己的颜色,但它最终的颜色还包含了玻璃之后所有物体的颜色。这也是混合这
G_Wen
·
2020-06-25 09:54
OpenGL
2018/8/04--
OpenGL学习
笔记(六)Materials/LightingMaps
开篇的话:这两天回家了,学习笔记更新的略微有些慢,今天接着赶光照部分的内容。材质在现实世界里,每个物体会对光产生不同的反应。比如说,钢看起来通常会比陶瓷花瓶更闪闪发光,木头箱子也不会像钢制箱子那样对光产生很强的反射。每个物体对镜面高光也有不同的反应。有些物体反射光的时候不会有太多的散射(Scatter),因而产生一个较小的高光点,而有些物体则会散射很多,产生一个有着更大半径的高光点。如果我们想要在
G_Wen
·
2020-06-25 09:54
OpenGL
2018/7/21--
OpenGL学习
笔记(一)环境搭建/create window
开篇的话:仅仅是作者的学习笔记!笔记!记!OpenGL在开始这段旅程之前我们先了解一下OpenGL到底是什么。一般它被认为是一个API(ApplicationProgrammingInterface,应用程序编程接口),包含了一系列可以操作图形、图像的函数。然而,OpenGL本身并不是一个API,它仅仅是一个由Khronos组织制定并维护的规范(Specification)。OpenGL规范严格规
G_Wen
·
2020-06-25 09:54
OpenGL
2018/7/21--
OpenGL学习
笔记(二) Triangle/Shader
开篇的话:这一章学起来是!真滴!费劲!!!!!看到VAO,VBO,EBO我是崩溃的!!!图形渲染管线(GraphicsPipeline)实际上指的是一堆原始图形数据途经一个输送管道,期间经过各种变化处理最终出现在屏幕的过程图形渲染管线可以被划分为两个主要部分:第一部分把你的3D坐标转换为2D坐标,第二部分是把2D坐标转变为实际的有颜色的像素。顶点着色器图形渲染管线的第一个部分是顶点着色器(Vert
G_Wen
·
2020-06-25 09:23
OpenGL
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他