自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 [Unity URP]水体渲染

unity版本:2019.4.12furp版本:7.5.1Shape形状Shading着色水体交互ReferenceBoat Attack 项目海水技术解析真实感水体渲染技术总结

2020-11-23 22:06:42 3243 2

原创 Unity曲面细分

unity版本:2019.4.12furp版本:.7.5.1前言  曲面细分是渲染管线的可选阶段,作用是可以将三角形分的更精细。如上图所示,曲面细分包含Hull Program、Tessellation和Domain Program这三步,处于顶点着色器之后,几何着色器之前,其中的Hull Program和Domain Program可编程。Hull Program  Hull Program负责决定如何细分[domain("tri")] // 表示适用于三角形,还有quad(四边形)

2020-11-20 23:12:02 1390

原创 Lua源码之表

lua版本:5.3.5数据结构  table是lua唯一的数据结构,也是lua最明显的特色之一,使用者可以在table的基础上实现各种各样的数据结构。table即可以作为数组,又可以作为哈希表,而在实现上,源码里也是将table的内部存储分为了数组和哈希表。/*** Tables*/typedef union TKey { struct { TValuefields; int next; /* for chaining (offset for next node) */

2020-08-08 13:39:07 237

原创 Lua源码之字符串

lua版本:5.3.5数据结构  lua的字符串分为短字符串和长字符串:/* Variant tags for strings */#define LUA_TSHRSTR (LUA_TSTRING | (0 << 4)) /* short strings */#define LUA_TLNGSTR (LUA_TSTRING | (1 << 4)) /* long strings */  字符串结构体定义代码:/*** Common Header for all

2020-06-25 22:26:04 256

原创 [从零开始的SoftRenderer]0.前言

  本人图形学萌新一个,之前有跟着LearnOpenGL进行一点学习,但是总觉得对一些基础的东西并没有真正理解。年前在github上发现一个很不错的工程,tinyrender,便开始跟着上面的介绍开始着手自己写一个软件渲染器,以模拟底层的实现。  代码链接在此。  其实我这个软件渲染器是一个最简版的,光照、阴影、后处理等等都没有,只是完成了通过摄像机把模型渲染到屏幕这一最基本的流程而已。当时我纠结了一阵该如何设计顶点着色器和片段着色器的结构和数据交互后,便直接滚去玩unity了。或许之后遇到什么我觉得

2020-06-21 15:28:01 409

原创 [从零开始的SoftRenderer]1.绘制三角形

  我们最终是要将三维的物体绘制到平面上,那么首先我们需要明白的是如何在屏幕上绘制二维的物体。而在二维的多边形中,三角形无疑是最特别的一种,它具有以下特性:边数最少所有多边形可以都可拆解成三角形即使在三维空间中,三角形的所有顶点也必然在同一平面上  所以我们的软件渲染器的第一步,就是要在屏幕上绘制出一个三角形。绘制三角形的方式多种多样,但严格来说,我们其实是希望绘制由三角形的三个顶点所定义的三角形。...

2020-06-21 15:24:36 296

原创 [从零开始的SoftRenderer]2.坐标变换

  一个物体要投影到屏幕上需要依次经过 Model(世界矩阵,转换到世界空间)、View(视图矩阵,转换到观察空间/摄像机空间)、Projection(投影矩阵,转换到裁剪空间),合起来就是常见的MVP矩阵。  Model矩阵和View矩阵很好理解,只是单纯的坐标系变换(注:Unity里摄像机坐标系采用的是右手系,与其世界坐标系相反,算是一个小的坑点),如果有不理解的推荐一个视频课程,线性代数的本质,这里就不详细说明了。齐次坐标  在介绍投影矩阵前,我们先来了解下齐次坐标...

2020-06-21 15:24:11 210

原创 [从零开始的SoftRenderer]3. 渲染管线

  GPU在接受了CPU的指令和数据后,所做的一系列流水线作业,被称作渲染管线。GPU渲染管线  上图就是GPU渲染管线的图示。图中绿色表示完全可编程,黄色表示可配置,蓝色表示完全固定。下面介绍下一些主要的渲染阶段:顶点着色器: 完全可编程,主要做的是我们在本系列第二章中所讲的坐标变换的过程,所以将输入的顶点乘以MVP矩阵输出,就是一个最简单的顶点着色器。除此之外,这一阶段还可以对一些顶点的属性(法线、纹理等等)进行处理,交给后面的阶段去用。裁剪: 在NDC空间进行裁剪,被截取的三角形会在边界处

2020-06-21 15:23:54 360

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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