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学习
笔记(3)之渲染管线
渲染管线流程示意图渲染流水线的目的在于渲染一张二维纹理,将数学和图形数据转换成3D空间图像一维或二维的实体或表面,如点、直线和多边形称为图元几何阶段的一个重要任务是把顶点坐标变换到屏幕空间,涉及到的空间转换如图,光栅化阶段的主要任务是决定每个渲染图元中哪些像素应该被绘制在屏幕上,并实际绘制或填充每个顶点之间的像素形成线段所有渲染所需的数据都需要从硬盘(HDD)中加载到系统内存(RAM)中,然后网格
灬逝水无痕
·
2020-06-27 06:51
OpenGL
opengl学习
心得
渲染缓冲器VBO即VertexBufferObject,是一个在高速视频卡中的内存缓冲,用来保存顶点数据,也可用于包含诸如归一化向量、纹理和索引等数据。我们通过顶点缓冲对象(VertexBufferObjects,VBO)管理这个内存,它会在GPU内存(通常被称为显存)中储存大量顶点。使用这些缓冲对象的好处是我们可以一次性的发送一大批数据到显卡上,而不是每个顶点发送一次。VAO即VertexArr
Mz枫
·
2020-06-27 04:05
OpenGL
openGL学习
笔记十七: 简单纹理映射
纹理:就是图片在显存中的的称呼。 纹理坐标(UV坐标):左下角(0,0)、左上角(0,1)、右上角(1,1)、右下角(1,0),任何一张图片做成纹理都是这个坐标。 uv对应叫法还有st,u、s和x轴方向相同,v、t和y轴方向相同。纹理映射:图片贴到一个区域中,区域顶点坐标对应纹理坐标进行贴图。代码实例://顶点数据structVertex{floatx,y,z;floatu,v;};//纹
乌班图ysm
·
2020-06-27 03:59
#
1.7
OpenGL
openGL学习
笔记五: glfw库及使用
glfw(GraphicsLibraryFramework):是继glut,freeglut之后,当前最新的用来创建OpenGL上下文,以及操作窗口的第三方库。是Freeglut升级版,作用基本一样。官方网址为:http://www.glfw.org/安装及使用环境:win7VS20131.下载glfw:地址:https://github.com/glfw/glfw2.cmake打开生成VS工
乌班图ysm
·
2020-06-27 03:59
#
1.7
OpenGL
openGL学习
笔记七: glad库及使用
glad库与glew作用相同,可以看作它的升级版,GLAD的配置与大多数的开源库有些许的不同,GLAD使用了一个在线服务。在这里我们能够告诉GLAD需要定义的OpenGL版本,并且根据这个版本加载所有相关的OpenGL函数。官方网址为:https://glad.dav1d.de/安装及使用环境:win7VS20131.下载glad: 打开GLAD的在线服务,将语言(Language)设置为C
乌班图ysm
·
2020-06-27 03:59
#
1.7
OpenGL
OpenGL学习
之路——OpenGL里面的Hello World
首先先来认识一下OpenGL实用工具库——GLUT下面几个函数就GLUT库中的1.glutInit(int*argc,char**argv)对GLUT进行初始化,并处理所用的命令行参数。该函数应该在调用其他GLUT函数之前调用。2.glutInitDisplayMode(unsignedintmode)指定了使用RGBA模式还是颜色索引模式。3.glutInitWindowPosition(int
birdlove1987
·
2020-06-27 03:24
openGL学习
OpenGL学习
笔记(九)
绘制一个三角形绘制函数完整代码执行结果绘制函数OpenGL的绘制函数为glDrawArrays,它使用当前激活的着色器,之前定义的顶点属性配置,和VBO的顶点数据(通过VAO间接绑定)来绘制图元:glUseProgram(shaderProgram);glBindVertexArray(VAO);glDrawArrays(GL_TRIANGLES,0,3);glDrawArrays函数说明:第一个
purple_wind_yy
·
2020-06-27 02:17
OpenGL学习笔记
OpenGL学习
笔记一:概念和术语解释
OpenGL学习
笔记一:概念和术语解释使用OpenGL之前会有很多名字复杂,类型简单,不明所以的类,查了大量资料,简单归纳,如有出错请指点。
东东_
·
2020-06-27 01:39
iOS(OpenGL)
Opengl学习
之——模板测试
模板测试介绍上一篇介绍了深度测试,实际上深度测试执行是在模板测试之后进行的,只有通过了模板测试之后的片段才会进行深度测试。在片段着色器执行完之后,需要经过一系列的测试,如下过程:在Opengl3.0以后Alpha测试已剔除,最后的逻辑操作一般也不使用。模板测试类似于深度测试,也有一个缓冲区,来存储模板值,叫做模板缓冲(StencilBuffer)。模板缓冲中的模板支通常是8位的,所以每个片段共有2
RalfNick
·
2020-06-27 01:00
编程
计算机
OpenGL学习
(一) OpenGL简介
OpenGL简介OpenGL是一个开放式的、与硬件无关的图形软件包。OpenGL是一个专业的、功能强大、调用方便的底层三围图形函数库。OpenGL是一个图形与硬件的接口。OpenGL主要特点和功能建模变换着色光照处理和材质设置位图显示、图像增强和纹理映射双缓存动画OpenGL的工作流程根据基本图形单元(点、线、多边形、图像和位图)建立景物模型,并且对所建立的模型进行数学描述。把景物模型放置于三围空
duswin
·
2020-06-27 00:37
OpenGL
openGL学习
笔记(2)
(x,y,z):组合起来表示两个重要的值,一个是方向,一个是向量多边形面积公式:floats=0.0;for(i=0;i0顺时针给予点A是背面的面积A并规定0两个向量的数量积:A*B=B*A(A+B)+C=A+(B+C)|A*B|小于等于|A|*|B|(三角形)(A*B)*C不等于A*(B*C)(A*B)平方不等于A的平方*B的平方由A*B=A*C(A不为0)推不出B=C(B和C共线的时候不成立)
燃情追梦
·
2020-06-26 22:04
OPenGL
OPenGL学习
笔记(1)
一个GPU会有多个处理器(几百到几千)他们同时工作,体现了GPU大规模并行处理能力进行几何计算的处理器叫做顶点着色器,它负责对顶点进行坐标变换投影变换等。进行片段的颜色处理的叫做片段着色器光栅化:实际绘制或填充每个定点之间的像素形成线段实心3D几何体无非是将顶点间的点连接起来然后对三角形进行光栅化而使对象变得有实体。变换、着色、纹理与混合我们看到的任何计算机渲染场景都无非是灵活的运用这四种技术而产
燃情追梦
·
2020-06-26 22:04
OPenGL
OpenGL学习
笔记(五)---三维地图
1.简介由于自己对WINAPI不熟悉,所以把Nehe例程改成了“纯”C++实现,当然,windows下编程还是用到了里定义的一些宏、结构体.....NeHe教程10是用一张.bmp位图实现了一个三维世界,可以键盘控制视角。(PS.本人用例程里自带的图片会出问题,于是我把原图片打开用截图工具重新截取就没问题,猜想是原图存储的方式跟读取的方式不一致导致。)2.效果图3.实现Lesson10Main.c
tomtc123
·
2020-06-26 20:16
opengl
openGL学习
笔记1(入门----如何绘制 直线、多边形、圆、利用图片绘制图形等)
#includevoidmyDisplay(void){glClear(GL_COLOR_BUFFER_BIT);//GL_COLOR_BUFFER_BIT表示清除颜色glRectf(-0.5f,-0.5f,0.5f,0.5f);//画一个矩形。四个参数分别表示了位于对角线上的两个点的横、纵坐标glFlush();//保证前面的OpenGL命令立即执行(而不是让它们在缓冲区中等待)。}intmai
timidsmile
·
2020-06-26 19:47
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
上一页
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
其他