- 博客(18)
- 资源 (22)
- 收藏
- 关注
原创 OpenGL学习笔记十五(面剔除)
OpenGL学习笔记十五(面剔除)什么是面剔除环绕顺序面剔除函数示例程序什么是面剔除在绘制一个正方体时,我们能看到最多的面数是3,而看不到的面虽然被绘制计算,但却无法通过深度测试,这样就做了一倍的无意义计算,倘若能省区这些计算将大幅度提高渲染性能。环绕顺序对于一个面,要么朝向摄像机(视口),要么背向摄像机,对于背向摄像机的面就是我们想要剔除的面,如何找出背向相机的面将是解决问题的核心。...
2020-02-26 11:43:12 502
原创 Unity帧速度原理(模拟Update及FixedUpdate)
Unity帧速度原理我们在使用Unity时有一个非常重要的参数:帧数帧数是指每秒可进行渲染和逻辑计算的次数,游戏每运行一帧,都要处理逻辑,物理,动画,渲染等工作,其中最耗时的操作往往是就是渲染,模拟代码如下:while(!Stop()){ doRender(); doAnimation(); doLogical(); ...}而每次执行一遍所用的时常就是帧数...
2020-02-23 14:42:30 5905
原创 OpenGL学习笔记十四(处理半透明物体)
OpenGL学习笔记十四(处理半透明物体) 透明物体 混合 渲染顺序 透明物体之前一直未介绍透明物体,但是在现实生活中,透明物体或者半透明物体随处可见,但是透明物体往往有很多与众不同之处,比如,在OpenGL中,透明物体不能写入深度,原因可以想一下,对于透明物体和不透明物体组合有两种形式:如果一个透明物体在一个不透明物体之前,那么理论上,如果写入深度值,那么后面的不透明物体将不可见,但实...
2020-02-20 14:29:58 6575 1
原创 OpenGL学习笔记十三(模板测试)
OpenGL学习笔记十三(模板测试)需要模板测试的原因模板测试模板缓存模板测试函数glStencilFuncglStencilOp需要模板测试的原因在上节中,讲了深度测试,即判断一个像素点是否能通过深度检测,显示到屏幕上,但是在实际开发中,我们可能遇到很多需求,希望实现不是通过深度关系进行遮挡的,比如游戏里常见的透视效果,可以看到一个物体之后的东西,这种情况下,我们就不能仅仅使用深度测试...
2020-02-19 11:13:08 1821
原创 OpenGL学习笔记十二(深度测试)
OpenGL学习笔记十二(深度测试)需要深度测试的原因深度测试函数比较函数清除深度缓存深度测试精确度及深度冲突需要深度测试的原因当我们渲染多个物体时,这多个物体之间存在互相遮挡的关系,被遮挡的物体的部分将不可见,也就是它离相机更远,为了告诉计算机被遮挡的物体不需要渲染,我们就需要对物体上的点做深度测试,检测它是否需要渲染。为了实现上述的检测,就需要深度缓冲,简单而言就是存储物体上点深度值的...
2020-02-18 17:45:00 1096
原创 OpenGL学习笔记十一(Assimp的编译详细步骤)踩坑大全篇
OpenGL学习笔记十一(Assimp的编译详细步骤,踩坑大全篇) 编译步骤 下载准备问题 解决问题导入项目 编译步骤 下载准备下载内容都在之前的博客中说过了,这里直接说怎么编译:问题我下载了好几个版本的cmake,assimp,全都不行,一直报这个错误:报错内容为,在路径是:错误的内容:找了一天原因,还是没有找到,有人说是选择VS版本不对,缺少DX9啥的,但是根本不是这个...
2020-02-18 11:29:34 2102 1
原创 OpenGL学习笔记十——从建模软件导入复杂模型:Assimp的使用
OpenGL学习笔记十——从建模软件导入复杂模型,使用Assimp 常用建模软件 模型常见格式模型加载库Assimp Assimp编译步骤基础环境 下载链接使用: 常用建模软件Blender3DS MaxMayaHoudini(可程序化生成模型,非常强大,推荐学习使用) 模型常见格式.obj(通用格式).max(max建模软件).fbx(游戏引擎常用格式).maya(M...
2020-02-17 08:53:55 1150
原创 OpenGL学习笔记九——光照3(实现三种光照类型:平行光,点光源,聚光灯)
OpenGL学习笔记九——光照3实现三种光照类型:平行光,点光源,聚光灯 前言平行光代码表示点光衰减代码实现聚光实现代码带有渐变边缘 前言 在上一次介绍光照时曾大概介绍了三种光照图片选自LearnOpenGL平行光最简单来说,平行光可以理解为太阳光,光有固定的颜色和统一的方向,且衰减值可以忽略,即光照强度和距离没有关系。如图:代码表示#version 330 coreout v...
2020-02-16 11:13:54 2835 1
原创 OpenGL学习笔记八——使用结构体创建材质
OpenGL学习笔记八——使用结构体创建材质 前言光照基础链接:OpenGL结构体的创建示例程序: 前言光照基础链接:光照基础知识冯氏光照模型OpenGL结构体的创建OpenGL可支持自定义结构体,其形式与C/C++类似,示例代码如下:#version 330 core//创建结构体struct Material { vec3 ambient; vec3 dif...
2020-02-15 16:46:39 966
原创 OpenGL学习笔记七——光照2(实现冯氏光照模型)
OpenGL学习笔记七——光照2,实现冯氏光照模型冯氏光照模型构成环境光漫反射‘原理:实例程序镜面反射原理:示例程序冯氏光照模型构成环境光照(Ambient Lighting)****:即使在黑暗的情况下,世界上通常也仍然有一些光亮(月亮、远处的光),所以物体几乎永远不会是完全黑暗的。为了模拟这个,我们会使用一个环境光照常量,它永远会给物体一些颜色。漫反射光照(Diffuse Ligh...
2020-02-14 17:08:39 1218
原创 OpenGL学习笔记六——光照
OpenGL学习笔记六——光照 原理介绍 光的类型 逐顶点光照 逐像素光照 OpenGL中实现光照实战代码——实现逐片元光照顶点着色器片元着色器 原理介绍 我们在现实生活中看到某一物体的颜色并不是这个物体真正拥有的颜色,而是它所反射的(Reflected)颜色。换句话说,那些不能被物体所吸收(Absorb)的颜色(被拒绝的颜色)就是我们能够感知到的物体的颜色。将光运用到图形学中,实现...
2020-02-13 17:01:46 990
原创 OpenGL学习笔记五——摄像机与坐标变换
OpenGL学习笔记五——摄像机 五大坐标系统 各个坐标系统之间的转换关系: 投影矩阵的两种形式——摄像机的2D和3D类型 实战运行结果图片链接 五大坐标系统 局部空间(Local Space,或者称为物体空间(Object Space))局部坐标是对象中心或者轴心为原点的坐标,位置相对于对象中心或者轴心。 世界空间(World Space)世界空间坐标,在世界空间中,有一...
2020-02-13 13:16:50 3844
原创 OpenGL学习笔记四——使用stb_image.h加载纹理,理解Mipmap,实现纹理映射
使用stb_image.h加载纹理,实现纹理映射原理说明概念介绍UV坐标图片信息纹理映射纹理坐标映射算法OpenGL关于纹理的API创建设置图片类型为GL_TEXTURE_2D设置重复方式及纹理映射方式多级渐远纹理赋值,此过程需要使用stb_image.h库stb_image.h库简介添加至项目使用说明应用实例原理说明概念介绍UV坐标纹理坐标在x和y轴上,范围为0到1之间(注意我们使用的是...
2020-02-12 14:43:10 6739 1
原创 OpenGL学习笔记三——引入GLM库,实现transform
OpenGL开发环境配置之GLMGLM库简介开发环境GLM库配置的两种方法方法一方法二GLM库简介GLM是OpenGL Mathematics的缩写,它是一个只有头文件的库,也就是说我们只需包含对应的头文件就行了,不用链接和编译。GLM可以在它们的网站上下载。把头文件的根目录复制到你的includes文件夹,然后你就可以使用这个库了。==注意:==无法翻墙的可直接在github上的下载:地址...
2020-02-11 11:14:45 11390 2
原创 OpenGL学习笔记二——理解shader结构与参数
OpenGL的shader结构与传递参数shader基础结构关键字与结构分析变量赋值方式main函数实战分析数据顶点着色器片元着色器传值函数shader基础结构#version version_numberin type in_variable_name;in type in_variable_name;out type out_variable_name;uniform type...
2020-02-10 12:14:09 3675 1
原创 OpenGL学习笔记一——绘制两个三角形,理解VAO,VBO和EBO
#include <glad/glad.h>#include <GLFW/glfw3.h>#include <iostream>using namespace std;void framebuffer_size_callback(GLFWwindow* window, int width, int height);const char *verte...
2020-02-06 16:26:25 3078 1
原创 OpenGL 开发环境配置(Windows) - Visual Studio 2017 + GLFW + GLAD 详细教程
OpenGL环境配置一般选择Win32,因此本教程将搭载Win32平台的开发环境。OpenGL开发环境配置目录搭建环境配置步骤Step1. 下载编译好的GLFW库Step2. 下载GLAD库Step3. 配置Visual Studio工程其他问题目录搭建环境操作系统:Windows 10编译器:Visual Studio 2017GLAD库GLFW库配置步骤S...
2020-02-03 14:01:52 4715 5
原创 UnityShader属性在属性面板的控制显示
UnityShader属性面板的控制参数[HideInInspector]在显示面板隐藏属性[NoScaleOffset]材质面板不显示UV偏移[Normal]表明贴图为法线贴图[HDR]表示贴图是HDR贴图[Gamma]表示float/vector变量在UI里为sRGB[PerRendererData]表示贴图的属性来自MaterialPropertyBlock演示...
2020-02-02 10:04:01 4062
Text Mesh Pro 1.1.52 Beta 3.1 for Unity 5.3.1 64bits .unitypackage
2020-10-20
assimp5.0.1 lib,dll VS2017
2020-02-18
Assimp_VS2015.rar
2020-02-16
glm-deprecated-master.zip
2020-02-11
大数据实验报告.doc
2019-05-30
计算机网络实验报告.docx
2019-05-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人