自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

绿洲守望者

个人总结

原创 几十万字OpenGL学习笔记,看完这一套就够了

上万字OpenGL学习笔记基础篇灯光 基础篇 配置环境 OpenGL创建三角形的流程 Shader讲解 引入GLM库,实现transform 使用stb_image.h加载纹理,理解Mipmap,实现纹理映射 摄像机 灯光 光照基础 冯氏光照模型的实现 ...

2020-02-15 15:39:29 187 0

原创 UE4解决万向锁问题

差不多是更好的欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式...

2020-01-16 20:25:47 302 0

原创 全面分析UE4游戏开发中的性能分析与优化
原力计划

UE4游戏开发中的性能分析与优化

2020-05-29 23:06:51 77 0

原创 利用UE4后处理材质实现描边效果

利用UE4后处理材质实现描边效果 方法一 方法二 方法一 后期处理材质连接节点如下: 原理分析: 获取场景法线向量后,通过其中一个做一点点UV偏移,是两个结果做差,颜色值越接近,插值越小,相反越大,而一般需要描边的位置就是向量相差较大的像素点,再用基础颜色加上这个差值就会出现描边效果。 方法...

2020-05-24 19:40:06 47 0

原创 Unity2019打包到安卓平台并进行性能调试
原力计划

Unity2019打包到安卓平台并进行性能调试 安装开发环境安装安卓SDK,DNK和JDK 打包测试 手机端的设置 安装开发环境 安装安卓SDK,DNK和JDK Unity2019版已经不需要我们再单独配置安卓开发环境了,在安装新版本时直接有对应的选项,只需要我们在安装新版本时选择对应的平台即可...

2020-05-22 22:43:40 162 0

原创 UE4屏幕扭曲后效

模拟屏幕在水下波纹后效材质 对于透明物体,即使用透明材质的物体,如果想要在后效材质中获取其深度值,即使用SceneDepth节点,可以将透明材质的Output Velocity设为true,然后将clip值设为0即可。 ...

2020-04-26 19:26:59 74 0

原创 UE4使用蓝图调整Post Process Volume的Material Parameter

调整Post Process Volume的材质属性找了好久,终于找到了获取方法,连接节点方式如下:

2020-04-21 19:32:47 162 0

原创 OpenGL学习笔记二十(延迟渲染)
原力计划

延迟渲染 正向渲染和延迟渲染 正向渲染和延迟渲染

2020-04-01 09:52:33 142 0

原创 OpenGL学习笔记十九——HDR

HDR 什么是HDRHDR在OpenGL中的应用 什么是HDR 在渲染一个物体的过程中,物体最终的颜色被存入帧缓冲中时,颜色和亮度值会被限制在0-1之间,这就会有一个问题:当物体的颜色全部都超过1的时候,会被帧缓冲的颜色限制在1这个值,那么场景中的颜色都会变成一种颜色,导致场景一片混乱。如图所示...

2020-03-31 12:31:45 46 0

原创 OpenGL学习笔记十八——批处理
原力计划

批处理什么是Draw Call什么是批处理使用批处理使用gl_InstanceID对多个物体做偏移处理实例测试补充 什么是Draw Call 在渲染物体之前,物体模型顶点数据保存在内存中,CPU通过向GPU发送渲染指令后,数据会复制到显存中,然后进行渲染。在这个过程中,CPU向GPU发送渲染指令的...

2020-03-30 11:56:00 88 0

原创 OpenGL学习笔记十七(立方体贴图,实现天空盒)
原力计划

OpenGL学习笔记十七(立方体贴图,实现天空盒)什么是立方体贴图立方体贴图原理立方体贴图应用——天空盒创建立方体贴图 什么是立方体贴图 简单来说,立方体贴图就是一个包含了6个2D纹理的纹理,每个2D纹理都组成了立方体的一个面,我们知道如果将一张贴图赋给一个立方体模型,那么这个立方体的六个面都显示...

2020-03-29 11:06:57 877 0

原创 OpenGL学习笔记十六(帧缓存)
原力计划

上万字OpenGL学习笔记帧缓存的概念帧缓存的作用自定义帧缓存 帧缓存的概念 到目前位置,已经介绍了多种缓存(数据), 用于写入颜色值的颜色缓冲 用于写入深度信息的深度缓冲 允许我们根据一些条件丢弃特定片段的模板缓冲 这些缓冲结合起来叫做帧缓冲(Framebuffer) 帧缓存的作用 用于保...

2020-03-28 18:30:53 871 0

原创 五分钟搞懂游戏开发中的抗锯齿算法
原力计划

常见抗锯齿算法总结锯齿由来抗锯齿算法SSAAMSAACSAA 锯齿由来 场景的定义在三维空间中是连续的,而最终显示的像素则是一个离散的二维数组,这是计算机屏幕产生锯齿的原因。在计算机处理图形的过程中(渲染管线了解一下),有一个非常重要的阶段,就是光栅化,光栅化主要的作用是将顶点数据的不连续性通过插...

2020-03-24 18:20:49 266 0

原创 如何快速掌握游戏引擎(初学者上手游戏引擎的最佳方案)

如何快速掌握UE4(初学者上手UE4的最佳方案)初学者如何选择游戏引擎初学者如何快速掌握游戏引擎理解代码代表什么理解代码的执行周期不要用中文版从项目入手,直接做,不用怕看官方文档坚持就是胜利 初学者如何选择游戏引擎 在游戏开发初学者,他们第一个接触的游戏引擎往往是Unity,因为大部分人都会告诉初...

2020-03-20 18:24:20 438 0

转载 Unity3d中渲染到RenderTexture的原理,几种方式以及一些问题

本文中大部分例子将按照Opengles的实现来解释1.RenderTexture是什么     在U3D中有一种特殊的Texture类型,叫做RenderTexture,它本质上一句话是将一个FrameBufferObjecrt连接到一个server-sid...

2020-02-29 12:03:26 158 0

原创 超详细介绍Unity中的Command Buffers

Unity中Command Buffers的作用Command Buffer简介CameraEvent和LightEventCameraEventLightEvent测试程序 Command Buffer简介 首先附加官方文档介绍:Command Buffer简介 Command Buffer 是...

2020-02-28 13:56:40 356 0

原创 OpenGL学习笔记十五(面剔除)

OpenGL学习笔记十五(面剔除)什么是面剔除环绕顺序面剔除函数示例程序 什么是面剔除 在绘制一个正方体时,我们能看到最多的面数是3,而看不到的面虽然被绘制计算,但却无法通过深度测试,这样就做了一倍的无意义计算,倘若能省区这些计算将大幅度提高渲染性能。 环绕顺序 对于一个面,要么朝向摄像机(视口)...

2020-02-26 11:43:12 121 0

原创 Unity帧速度原理(模拟Update及FixedUpdate)

Unity帧速度原理 我们在使用Unity时有一个非常重要的参数:帧数 帧数是指每秒可进行渲染和逻辑计算的次数,游戏每运行一帧,都要处理逻辑,物理,动画,渲染等工作,其中最耗时的操作往往是就是渲染,模拟代码如下: while(!Stop()) { doRender(); doAnima...

2020-02-23 14:42:30 597 0

原创 OpenGL学习笔记十四(处理半透明物体)

OpenGL学习笔记十四(处理半透明物体) 透明物体 混合 渲染顺序 透明物体 之前一直未介绍透明物体,但是在现实生活中,透明物体或者半透明物体随处可见,但是透明物体往往有很多与众不同之处,比如,在OpenGL中,透明物体不能写入深度,原因可以想一下,对于透明物体和不透明物体组合有两种形式: ...

2020-02-20 14:29:58 2246 0

原创 OpenGL学习笔记十三(模板测试)

OpenGL学习笔记十三(模板测试)需要模板测试的原因模板测试模板缓存模板测试函数glStencilFuncglStencilOp 需要模板测试的原因 在上节中,讲了深度测试,即 判断一个像素点是否能通过深度检测,显示到屏幕上,但是在实际开发中,我们可能遇到很多 需求,希望实现不是通过深度关系进行...

2020-02-19 11:13:08 1173 0

原创 OpenGL学习笔记十二(深度测试)

OpenGL学习笔记十二(深度测试)需要深度测试的原因深度测试函数比较函数清除深度缓存深度测试精确度及深度冲突 需要深度测试的原因 当我们渲染多个物体时,这多个物体之间存在互相遮挡的关系,被遮挡的物体的部分将不可见,也就是它离相机更远,为了告诉计算机被遮挡的物体不需要渲染,我们就需要对物体上的点做...

2020-02-18 17:45:00 193 0

原创 OpenGL学习笔记十一(Assimp的编译详细步骤)踩坑大全篇

OpenGL学习笔记十一(Assimp的编译详细步骤,踩坑大全篇) 编译步骤 下载准备问题 解决问题导入项目 编译步骤 下载准备 下载内容都在之前的博客中说过了,这里直接说怎么编译: 问题 我下载了好几个版本的cmake,assimp,全都不行,一直报这个错误: 报错内容为,在路径是: 错...

2020-02-18 11:29:34 349 0

原创 OpenGL学习笔记十——从建模软件导入复杂模型:Assimp的使用

OpenGL学习笔记十——从建模软件导入复杂模型,使用Assimp 常用建模软件 模型常见格式模型加载库Assimp Assimp编译步骤基础环境 下载链接使用: 常用建模软件 Blender 3DS Max Maya Houdini(可程序化生成模型,非常强大,推荐学习使用) 模型常见格...

2020-02-17 08:53:55 171 0

原创 OpenGL学习笔记九——光照3(实现三种光照类型:平行光,点光源,聚光灯)

OpenGL学习笔记九——光照3实现三种光照类型:平行光,点光源,聚光灯 前言平行光代码表示点光衰减代码实现聚光实现代码带有渐变边缘 前言 在上一次介绍光照时曾大概介绍了三种光照 图片选自LearnOpenGL 平行光 最简单来说,平行光可以理解为太阳光,光有固定的颜色和统一的方向,且衰减值可...

2020-02-16 11:13:54 230 0

原创 OpenGL学习笔记八——使用结构体创建材质

OpenGL学习笔记八——使用结构体创建材质 前言光照基础链接:OpenGL结构体的创建示例程序: 前言 光照基础链接: 光照基础知识 冯氏光照模型 OpenGL结构体的创建 OpenGL可支持自定义结构体,其形式与C/C++类似,示例代码如下: #version 330 core //创建结构...

2020-02-15 16:46:39 194 0

原创 OpenGL学习笔记七——光照2(实现冯氏光照模型)

OpenGL学习笔记七——光照2,实现冯氏光照模型冯氏光照模型构成环境光漫反射‘原理:实例程序镜面反射原理:示例程序 冯氏光照模型构成 环境光照(Ambient Lighting)****: 即使在黑暗的情况下,世界上通常也仍然有一些光亮(月亮、远处的光),所以物体几乎永远不会是完全黑暗的。为了...

2020-02-14 17:08:39 194 0

原创 OpenGL学习笔记六——光照

OpenGL学习笔记六——光照 原理介绍 光的类型 逐顶点光照 逐像素光照 OpenGL中实现光照实战代码——实现逐片元光照顶点着色器片元着色器 原理介绍 我们在现实生活中看到某一物体的颜色并不是这个物体真正拥有的颜色,而是它所反射的(Reflected)颜色。换句话说,那些不能被物体所...

2020-02-13 17:01:46 451 0

原创 OpenGL学习笔记五——摄像机与坐标变换

OpenGL学习笔记五——摄像机 五大坐标系统 各个坐标系统之间的转换关系: 投影矩阵的两种形式——摄像机的2D和3D类型 实战运行结果图片链接 五大坐标系统 局部空间(Local Space,或者称为物体空间(Object Space)) 局部坐标是对象中心或者轴心为原点的坐标,位置...

2020-02-13 13:16:50 2359 0

原创 OpenGL学习笔记四——使用stb_image.h加载纹理,理解Mipmap,实现纹理映射

使用stb_image.h加载纹理,实现纹理映射原理说明概念介绍UV坐标图片信息纹理映射纹理坐标映射算法OpenGL关于纹理的API创建设置图片类型为GL_TEXTURE_2D设置重复方式及纹理映射方式多级渐远纹理赋值,此过程需要使用stb_image.h库stb_image.h库简介添加至项目使...

2020-02-12 14:43:10 1649 0

原创 OpenGL学习笔记三——引入GLM库,实现transform

OpenGL开发环境配置之GLMGLM库简介开发环境GLM库配置的两种方法方法一方法二 GLM库简介 GLM是OpenGL Mathematics的缩写,它是一个只有头文件的库,也就是说我们只需包含对应的头文件就行了,不用链接和编译。GLM可以在它们的网站上下载。把头文件的根目录复制到你的incl...

2020-02-11 11:14:45 1581 2

原创 OpenGL学习笔记二——理解shader结构与参数

OpenGL的shader结构与传递参数shader基础结构关键字与结构分析变量赋值方式main函数实战分析数据顶点着色器片元着色器传值函数 shader基础结构 #version version_number in type in_variable_name; in type in_variab...

2020-02-10 12:14:09 2427 1

原创 OpenGL学习笔记一——绘制两个三角形,理解VAO,VBO和EBO

#include <glad/glad.h> #include <GLFW/glfw3.h> #include <iostream> using namespace std; void framebuffer_size_callback(GLFWwindow*...

2020-02-06 16:26:25 350 1

原创 OpenGL 开发环境配置(Windows) - Visual Studio 2017 + GLFW + GLAD 详细教程

OpenGL环境配置一般选择Win32,因此本教程将搭载Win32平台的开发环境。 OpenGL开发环境配置目录搭建环境配置步骤Step1. 下载编译好的GLFW库Step2. 下载GLAD库Step3. 配置Visual Studio工程其他问题 目录 搭建环境 操作系统:Windows 1...

2020-02-03 14:01:52 449 1

原创 UnityShader属性在属性面板的控制显示

UnityShader属性面板的控制参数 [HideInInspector] 在显示面板隐藏属性 [NoScaleOffset] 材质面板不显示UV偏移 [Normal] 表明贴图为法线贴图 [HDR] 表示贴图是HDR贴图 [Gamma] 表示float/vector变量在UI里为sRGB [...

2020-02-02 10:04:01 380 0

转载 unity shader 后处理实现水墨风格渲染「Low Poly 」变「水墨画 」

#水墨风格渲染 这次学校的比赛打算做一个中国古代背景的游戏,所以尝试做了水墨风格的渲染。 主要按以下四步来实现的效果: 根据色调和饱...

2020-01-17 09:32:45 139 0

原创 Unity Directional Light设置正确但是无阴影的问题解决

今天随便做一个测试unity阴影,发现设置正确之后,在场景里加入一个plane,一个cube,一个dir light后,cube死活不产生阴影,后来重新新建一个项目后做同样操作就有了!!!!! 具体如图: 有阴影的: 无阴影的: ...

2019-12-22 13:14:09 285 0

原创 游戏中设置慢/快动作的函数(UE4)

1 为正常播放速度,放慢可调为0-1之间的数字,加快可调为1以上的数字

2019-11-18 18:55:26 227 0

原创 调整贴图映射到材质的参数UE4

说明:参数Offset和Scale分别设置贴图UV的偏移和缩放,可以通过程序加以控制

2019-11-14 20:37:23 194 0

原创 模拟动画效果水面扰动

效果如下:

2019-11-13 20:39:17 89 0

原创 实现云波动环绕效果:UE4

效果图如下:

2019-11-11 20:49:05 161 0

提示
确定要删除当前文章?
取消 删除