OpenGL
文章平均质量分 83
懂deeee珍惜
每天进步一点点点。
展开
-
现代OpenGL+Qt学习笔记之二:程序框架
现代OpenGL+Qt学习笔记之二:程序框架原创 2017-09-10 18:02:02 · 7386 阅读 · 7 评论 -
现代OpenGL+Qt学习笔记之三:显示一个彩色三角形
现代OpenGL+Qt学习笔记之三:显示一个彩色三角形主要内容 本文的主要内容是在现代OpenGL+Qt学习笔记之二程序框架的基础上,在OpenGL部件中绘制一个彩色三角形。涉及内容有顶点着色器、片元着色器、着色程序和OpenGL缓存对象等着色器 在程序中,着色器(shader)都表示一小段GLSL程序,它可以说是现代OpenGL区别于传统OpenGL的最主要特性。在现代OpenGL中,通过着色原创 2017-09-11 01:02:59 · 10580 阅读 · 6 评论 -
现代OpenGL+Qt学习笔记之八:GLSL双面渲染
本文主要介绍OpenGL中的双面渲染,在一般情况下,如果要绘制的曲面是封闭的,如前面涉及过的圆环体,其内部是隐藏的,但是当一些模型有洞时,其内部可见。但在默认情况下,由于这些面的法向朝向问题,其光照计算通常是不正确的,如何正确计算一个模型的内部面片的光照就是本文的主要内容。原创 2017-09-28 13:13:49 · 6083 阅读 · 0 评论 -
现代OpenGL+Qt学习笔记之四:使用Uniform变量实现对模型的旋转
绍GLSL中的uniform变量基础,并通过uniorm变量实现对模型的旋转操作。本文将对现代OpenGL+Qt学习笔记之三:显示一个彩色三角形中绘制的三角形进行一定角度的旋转。(PS:本文的项目在上一篇笔记项目的基础上进行更改)GLSL中的unifrom变量 前面已经介绍过逐点属性变量(per-vertex原创 2017-09-12 13:59:27 · 10739 阅读 · 2 评论 -
现代OpenGL+Qt学习笔记之五:OpenGL矩阵变换
现代OpenGL+Qt学习笔记之五:OpenGL矩阵变换 主要是关于OpenGL中的矩阵变换,通过介绍一个点的变换过程,也可以帮助理解OpenGL的管线的执行过程。没有非常详细的数学和几何变换内容的介绍,好在QMatrix4x4已经帮我们实现了所有的矩阵变换功能。原创 2017-09-12 15:01:07 · 7238 阅读 · 0 评论 -
现代OpenGL+Qt学习笔记之六:绘制可旋转、带光照效果的三维物体
本文主要介绍了一种最简单的光照理论,以及其在现代OpenGL中的实现方式。同时为了从不同角度观察物体的光照效果,还实现了用鼠标控制物体的旋转和缩放。后面会介绍更加复杂一点的光照模型,使得渲染结果更加真实,还有逐片元渲染技术,可以令曲面表现更加平滑。原创 2017-09-20 17:12:53 · 9683 阅读 · 15 评论 -
现代OpenGL+Qt学习笔记之九:smooth和flat着色模式
介绍OpenGL中的着色模式的概念和在GLSL中的实现方式。着色模式 在传统OpenGL的固定管线中,函数void glShadeModel ( GLenum mode)的作用是设置着色模式。 参数mode可以是GL_SMOOTH(默认值)或GL_FLAT。采用flat着色时(即GL_FLAT),OpenGL将使用图元原创 2017-09-30 10:59:44 · 7702 阅读 · 0 评论 -
现代OpenGL+Qt学习笔记之十:使用逐片元渲染提升真实感
现代OpenGL+Qt学习笔记之十:使用逐片元渲染提升真实感主要内容 到目前为止,关于法向、光照(颜色)的计算都是在顶点上进行的,在片元着色器运行之前,OpenGL会对这些顶点的数据(包括法向、颜色、纹理等)进行线性插值,从而得到每个片元的相关数据,我们称这种方法为逐顶点渲染(per-vertex shading),如果能够在顶点的位置和法向数据插值后,再进行光照(颜色)的计算,就能够提高渲染的真原创 2017-10-09 21:33:11 · 5078 阅读 · 3 评论 -
现代OpenGL+Qt学习笔记之十一:使用halfway向量提高光照计算效率
现代OpenGL+Qt学习笔记之十一:使用halfway向量提高光照计算效率主要内容 本文介绍另一种光照计算的方法,可以减少光照计算的效率,当需要计算光照的的顶点/片元的较多时,使用该方法可以提高着色器的运行效率,从而提高渲染效率。halfway向量 现代OpenGL+Qt学习笔记之七:Phong光照及在GLSL中使用函数一文中已经介绍了Phong光照模型的原理及计算方法。本文将对镜面反射光强(原创 2017-10-10 21:22:19 · 4680 阅读 · 0 评论 -
现代OpenGL+Qt学习笔记之一:概述
现代OpenGL+Qt学习笔记之一:概述 在Qt框架下学习现代OpenGL的系列笔记,也是从基础开始学习,重点介绍GLSL.原创 2017-09-09 20:35:02 · 7255 阅读 · 5 评论 -
现代OpenGL+Qt学习笔记之七:Phong光照及在GLSL中使用函数
在现代OpenGL+Qt学习笔记之六:绘制可旋转、带光照效果的三维物体中介绍了一个漫射光的原理及在OpenGL中的实现。本文将重点介绍一个更加经典的光照模型——Phong光照模型,也叫ADS(Ambient, Diffuse, Specular)光照模型。即在渲染物体时,不仅仅只考虑物体的漫反射(Diffuse),还考虑环境光(Ambient)和镜面反射(Specular)。同时还会介绍如何在GLSL中使用函数,原创 2017-09-22 10:41:19 · 5949 阅读 · 0 评论 -
OpenGL环境配置Win7-64位+freeglut+glew+VS2012
OpenGL Win7-64位+freeglut+glew+VS2012配置原创 2015-10-25 15:07:41 · 11202 阅读 · 1 评论 -
VS2010 Meshlab编译
VS2010下的meshlab编译,简单。。。需要安装qt4.8.6和qt vs add-in 1.1.11,当然还有VS2010.原创 2015-11-15 22:02:44 · 6673 阅读 · 7 评论 -
VCG Libary学习笔记(1) 概述 安装 文件夹结构
VCG Libary库概述,安装及文件夹结构介绍。翻译 2015-11-16 17:00:58 · 8164 阅读 · 0 评论 -
OpenMesh学习笔记5 OpenMesh+OpenGL的一个例子
OpenMesh学习和使用过程中的系列笔记5,OpenMesh+OpenGL显示的一个例子原创 2016-01-11 17:42:29 · 19091 阅读 · 5 评论 -
Callback functions in GLFW
Callback functions in GLFW refer to the documentation, if you don’t know how to correctly use these callback functions. About some joystic input, I haven’t read it this time.Introduction to the API原创 2016-06-06 21:44:22 · 6824 阅读 · 0 评论 -
GLFW理解之Video mode
GLEW理解之Video mode 学习一门新的语言或者库的时候,总会出现难以理解的语言或者库的设计机制和概念。针对GLFW库,第一个让我头疼的概念就是这个Video mode,终于在看了几遍文档,加上例子程序,终于是对这个概念有所理解了。 PS: 因此建议学习GLFW库的同学们要自己去用cmake编译一下GLFW库的源码,生成的GLFW.sln中包含了很多的tests和examples程序,可原创 2016-06-07 09:06:00 · 6235 阅读 · 0 评论 -
OpenMesh学习笔记7 网格文件读写
网格文件读写 本文主要介绍用OpenMesh对网格文件进行读写的操作。 相应的函数定义在名称空间OpenMesh::MeshIO中。IOManager快速入门 文件读写的代码框架如下:#include <OpenMesh/Core/IO/MeshIO.hh>MyMesh mesh;if (!OpenMesh::IO::read_mesh(mesh, "some input file")翻译 2016-06-21 15:18:57 · 7384 阅读 · 0 评论 -
OpenMesh学习笔记6 怎样遍历网格
怎样遍历网格 介绍 遍历大家都清楚的吧,学习数据结构的时候就经常讲到遍历,比如八叉树中,要遍历每一个节点,有各种遍历方法,什么深度优先遍历,广度优先遍历神马的。在一个网格中,有时候我们也要遍历网格中的每一个点、面、边等基本元,这就是这篇文章的内容。遍历半边(Halfedge) 首先介绍网格中的半边的遍历,如下图所示的网格拓扑: 根据选择的遍历初始半边的不同,有两种可能的遍历过程: 1翻译 2016-06-21 09:50:45 · 9763 阅读 · 0 评论 -
OpenMesh学习笔记8 两个基本操作-边的翻转和折叠
两个基本操作-边的翻转和折叠原文出处:http://www.openmesh.org/media/Documentations/OpenMesh-Doc-Latest/a00034.html 本节介绍OpenMesh中提供的两种基本操作,及对边的翻转和折叠操作。其中翻转操作是针对三角网格的,而折叠操作就是折叠网格中的相邻顶点。三角网格中的边的翻转 首先考虑两个相邻的三角形,那么它们的公共可以翻译 2016-06-22 10:41:27 · 8237 阅读 · 0 评论 -
现代OpenGL+Qt学习笔记之十二:模拟聚光灯
本文将实现一种特殊的光源,该光源的位置定义在一个圆锥的顶点上,光的照射范围仅在圆锥范围内,且光强在该圆锥的中心轴上时最强的,而随着空间点到该中心轴的距离的增加,光强也随之减少。这就是现实中的聚光灯效果,本文将通过GLSL介绍如何模拟这种现实中的聚光灯。原创 2017-10-12 21:48:06 · 4127 阅读 · 5 评论