10 yxriyin

尚未进行身份认证

因为啥都不精通,所以啥都自成一家

等级
TA的排名 1w+

opengl蓝宝书读书笔记

裁剪空间坐标系中,dx是从0到1,opengl是从-1到1. 都是从近到远深度值也不一样,dx中,深度缓冲区中1代表近平面,深度缓冲区中0代表远平面。 而裁剪空间范围对应的是near到0.而opengl中,深度缓冲区0代表近平面,1代表远平面。裁剪空间范围分为都d3d和opengl两个系列。d3d范围是0到far,而opengllike是-near,到far。联...

2018-09-28 14:01:00

RTR4读书笔记第七章

阴影体算法。首先绘制场景内容,填充颜色和深度。然后绘制正面的阴影体,此事关闭颜色和深度写入,只更新模板缓存。模板缓存+1.同理绘制阴影体背面,模板缓存-1.如果一个物体在阴影体内部,那么阴影体背面会被他挡住,也就不会-1,所以都是0的就是不在阴影里面,否则在阴影里面。ShadowMap PCF PCSS VSM都比较熟悉,就不赘述了。...

2019-06-24 20:07:22

RTR4读书笔记第六章

注意,这里的投影并不是摄像机投影,而是广泛的纹理投影,用在美术展开uv用的。lod bias可以解决mipmap太模糊的情况SAT文章讲的比较简略,建议谷歌文章重新看下一下。https://blog.csdn.net/toughbro/article/details/5117900这是各项异性过滤,就是不再是完按照和屏幕平行的假设,而是倾斜,于是需要通过多采样...

2019-06-18 20:36:32

RTR博客读书笔记第五章

这是Gooch着色模型。这是常见的通用的光照模型的公式这里说了为什么光源方向是反的,这是为了方便计算。点光源的问题在于近距离太大,远距离无限小但不是0.所以公式要变种一下。对于一些常量,编译器可以在编译的时候就直接优化掉。这可以在预编译的时候,可以再安装的时候,也可以在应用程序被加载的时候。这是法线插值后变短的问题。可以看到如果不归一...

2019-06-02 23:54:02

RTR4读书笔记第四章

这里讲到gpuskin,可以把蒙皮计算放到gpu中,也可以把数据烘焙到贴图中用来突破寄存器数量的限制。gpu蒙皮的问题在于线性插值会得到不正确的结果。一般来说球形插值更合理,但也有会存在bug的情况。现在有一种更新的算法,球形插值的同时施加了约束,让插值结果看上去更加合理。这是深度缓存里的精度,可以看到near越大,精度分布越均匀。这是精度存储的关系,也...

2019-05-31 15:39:00

RTR4读书笔记第三章

这里提到了SIMD的工作方式。单指令多数据。GPU在执行指令的时候,如果碰到了一个需要去内存取数据这种明显会延迟的指令,会在发出指令后切换到下一个片段,先执行下一个片段的指令,然后下一个片段会在同样的地方去获取内存数据,它会继续切换下一个。依次类推,直到又回到第一个片段,这个时候内存数据取到了,那么继续开始下一个轮回。几千个片段,每一个都是单独的一个线程。这些线程会被分成几个组,分配...

2019-05-29 17:38:14

渲染流程整理

这篇文章讲的很好:https://gameinstitute.qq.com/community/detail/123220首先是pc的IMR模式,每次draw命令提交就进行渲染。假设提交了一个树,那么就需要去执行渲染。这中间需要访问深度缓存,模板缓存,纹理等,都直接通过显存去获取。需要大带宽。例如考虑要执行alphatest操作,其实就需要直接访问fbo,然后根据alpha值进行操作...

2019-05-28 23:43:00

RTR4读书笔记第二章

首先是书中的数学符号说明平面公式可以定义为n*x + d = 0 大于0就是位于平面的正半空间,小于0就是定义为平面的负半空间。这是一个图形管线的基本结构,大致是从应用程序 到几何处理器 到栅格化 最后像素处理器。每一个阶段内部可能也是一个管线系统。几何处理器可以分为顶点着色,投影,裁剪,屏幕映射几个阶段这是讲物体坐标用摄像机空间坐标表示的示意...

2019-05-27 15:31:50

opengl学习笔记3

2019-04-15 22:46:30

opengl学习笔记2

2019-04-15 18:01:24

海飞丝头发的研究和实现

先展示成果:https://v.qq.com/x/page/z0853wtw21a.html很早就看了milo大佬的爱丽丝的海飞丝,那个时候完全看不懂。最近再去看了一遍,还是看不懂。打算自己研究看看。首先查了gpugems2里面关于海飞丝的简要实现方案:打算就先从这个基本流程入手。首先是准备了一个头的模型,和主要的头发束模型,然后根据头皮的顶点,去生成头发。头发直接用9个顶...

2019-03-23 23:57:52

海飞丝头发学习笔记2

https://developer.nvidia.com/gpugems/GPUGems2/gpugems2_chapter23.htmlGpuGem2里有讲流程下面来看看曲面细分的代码:贝塞尔曲线知乎文章:https://zhuanlan.zhihu.com/p/29460544function Bezier(2,t,w[]):t2 = t * tmt = 1-...

2019-03-23 23:54:38

海飞丝头发学习笔记1

unity computer shader基础。#include "Platforms.cginc"//这个是kernel的名字#pragma kernel CSMatrixCopyPaster//这是两个可以读写的buffer,一般由c#进行赋值RWStructuredBuffer<float4x4> matricesFrom;RWStructuredBuffe...

2019-03-19 00:08:02

Opengl学习笔记1

2019-03-13 14:07:06

unity插件开发让女朋友财富自由之路

先看下最近三月的销售额:好,接下来我要开始表演了。2014年,创业期间不是很顺。公司也快不行了,经济困难,在踌躇之际看到一个帖子,说他做的特效插件被日本大公司买了,有很好的广告效应,收入比自己年薪还多,印象中大概在70w左右(现在再去找发现没找到那个帖子),突发奇想能不能将自己这一两年的技术积累做成一个unity插件,放到商店上,或许能够暴富呢?于是我通过一周的时间,将自己...

2019-03-03 11:03:05

海洋知识数学笔记2

这是海洋统计学中最重要的公式。private void GenerateMesh(){ int indiceCount = 0; int halfResolution = resolution / 2; for (int i = 0; i < resolution; i++) { float horizontalPosition = (i - halfResoluti...

2019-02-18 16:55:58

SIGGRAPH中海洋的研究学习

演示demo:https://v.qq.com/x/page/g08391vnr97.html从海岛奇兵的海水一路改进过来,但总感觉还是不够好看。想来想去还是重新写一个新版海水。总体思路不再是优先考虑性能,而是先做效果,只要手机上还能支持,就先试试看。打算先做Gerstner Wave。数学部分知识如下:(来自https://zhuanlan.zhihu.com/p/3167027...

2019-02-18 09:36:23

海洋数学知识笔记

 对于无限海面应该有几种做法,第一种是根据你所在位置动态加载海面,无缝拼接。第二种是玩家移动范围在某一个区域,那么只要按照下图这种回字形,根据距离设置LOD就好。第一种比较简单,现在主要看下第二种的做法。   这是LOD的最重要的枚举了   enum PatchType    {        /// <summary>       最核心部分,2x2的平面    ...

2019-01-28 13:52:21

移动端大规模草渲染的实现

先上最终效果:https://v.qq.com/x/page/e0777z5hbqa.html1.用程序生成草地网格 1.1为什么使用程序生成而不使用美术提供的网格要在移动端进行大规模草的渲染,首先要考虑的就是性能问题。对于草的渲染,目前肯定要采取的手段是批处理。就是一次性提交所有的草体到gpu进行渲染。目前主流的批渲染有三种方式,具体如下:1)动态批处理这也是渲染草的...

2018-12-21 19:34:16

pbrt读书笔记3

  反演法是根据pdf去求出cdf。然后给定随机概念值,也就是y,去反求出x本身。这个x就是采样值。这个方法很有意思,首先Pr表示小于x的概率,而取max就是表是所有的采样都要小于x,于是就是n个概率相乘,刚好是x的n+1次幂   首先假设dA和dw平行,那么dA = r^2 * dw. 如果dA的法线和dw的法线成一定夹角,那么cos一下就...

2018-12-21 16:33:11

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。