
理论
文章平均质量分 83
Jave.Lin
积跬步至千里
展开
-
Adreno Hardware Tutorial 3: Tile Based Rendering - TBR - 笔记
加深对 TBR 的理解,便于日后做优化便于不使用 视频中调整进度的方式来查看内容,而直接从文本上搜索,便于后续的索引方式来回顾内容翻译 2022-08-11 23:34:08 · 758 阅读 · 0 评论 -
[解读] GuiltyGearXrd‘s Art Style : The X Factor Between 2D and 3D - GGX 3D 渲染 2D 风格
---这篇我们将 2015 GDC中的 《罪恶装备》介绍的视频内容都笔录一下---# 目的对视频笔录的目的:便于后续重新回顾、搜索、确定方案时,可以快速的查看到想要的内容,而不用重新查看一遍视频的内容---# 注意本篇因为笔录视频内容,会包含 ==**巨量**== 的图片,所以如果在浏览本篇文章之前,==**您的浏览终端,如果是流量有限的话,就需要注意一下**==原创 2021-12-12 14:35:35 · 8736 阅读 · 0 评论 -
Occlusion Culling 相关
大地图,超级多物件,如果 All 的方式来 Bake 的话,很有可能如下图的结果原创 2021-07-30 16:14:39 · 209 阅读 · 0 评论 -
图形新手入门题
尝试使用 渲染系统(WebGL, OpenGL, Unity 的 Graphics,DX 等),实现以下内容:绘制 一个纯白色三角形绘制 两个三角形,并组合为一个四边形绘制一个 纯白色 的四边形暴露一个 颜色 来调整四边形的颜色给四边形添加一个 纹理将 uv 数值调整一下,分别看看对 uv 的 缩放 和 位移 时,四边形的纹理是如何的表现了解 什么是向量实时的 输出 两个 2d 或是 3d 向量的 点乘结果,并调整两个向量,观察 结果 有什么 规律了解 什么是单位向量实时的 绘制 两个原创 2021-03-13 23:37:16 · 282 阅读 · 3 评论 -
Unity - DrawCall, Batch, SetPassCall区别
一般我们 在实时渲染中,DC也就是 DrawCall 都会尽可能的降低他,以为着,CPU 与 GPU 的绘制沟通会减少啥叫:DrawCall已 OpenGL 为例,就是调用带有绘制功能的 API 的次数如:DrawCall : 10 次,那就意味着调用了 glDrawXXXX 的 API 10 次啥叫:SetPassCallUnity 中,就无缘无故多了个叫:SetPassCall 的家伙其实早在以前的游戏引擎里,没有 pass 这么一个说法,说是 techni 的说法因为这些都是封装的功原创 2021-02-05 19:09:04 · 3545 阅读 · 1 评论 -
Blender - Subsurface Scattering(次表面散射) - 实现比较好的奶酪材质参数说明
文章目录什么是次表面散射建模、添加 SSS 材质什么是次表面散射Subsurface Scattering - 次表面散射,简写 SSS以前没去了解过,但是发现,如果要制作光通透效果,还是要了解实现原理,对于参数调整也会得心应手Subsurface Scattering (SSS) 的说明,我参考了一篇写得很不错的:【插播002】Subsurface我自己总结理解为:光波在射入物体后,部分光波在物质中穿透,最后总物体的从射出,然后我们的眼睛(相机)捕抓到这些光波的颜色。Radius(光原创 2020-08-23 16:57:13 · 4837 阅读 · 0 评论 -
LearnGL - 15.3 - 渲染顺序
文章目录渲染队列核心排序函数不透明几何体半透明几何体其它几何体查看半透明效果正常效果不正常的效果LearnGL - 学习笔记目录前一篇:LearnGL - 15 - Skybox - 天空盒 - 优化天空盒的渲染队列 - 有说一丢丢关于渲染顺序的优化,这个是直接使用 渲染队列值 来排序的这一篇:我们对将区别对 不透明几何体、半透明几何体、其他几何体 的排序本人才疏学浅,如有什么错误,望不吝指出。渲染队列之前有提到过,现在再复制一篇: enum class RenderQueueType {原创 2020-08-12 12:03:23 · 366 阅读 · 0 评论 -
LearnGL - 15.2 - Refraction - 折射效果
文章目录先看看效果折射现象refract 函数的使用Shader 调整my_lighting.glsl添加材质属性添加了着色器信息结构体添加了计算折射的函数提取了着色器函数外部调用ReferencesLearnGL - 学习笔记目录前一篇:LearnGL - 15.1 - Reflection - 反射效果 - 了解了立方体贴图(环境贴图、天空盒)反射效果这一篇:实现类似折射的效果本人才疏学浅,如有什么错误,望不吝指出。扯一些闲话:前几天和小舅子玩了玩 PS4:《Hell Driver》原创 2020-08-12 10:27:45 · 807 阅读 · 0 评论 -
LearnGL - 15 - Skybox - 天空盒
文章目录先看效果思路实践准备一个 Cube再准备好 CubeMap(立方体贴图)天空盒子的 Shader效果1在应用层设置传入的视图变化矩阵前,删除移动的量在GLSL shader层移动视图变化矩阵的移动量效果3添加其他几何体看看深度问题效果4效果5天空盒边界接缝处瑕疵问题边界缝隙解决ReferencesLearnGL - 学习笔记目录前些篇:LearnGL - 11.1 - 实现简单的Gouraud-Phong光照模型LearnGL - 11.2 - 实现简单的Phong光照模型LearnG原创 2020-08-06 22:45:16 · 637 阅读 · 0 评论 -
LearnGL - 13.1 - SpotLight - 聚光灯
文章目录演示完整 ShaderSpot Light Gizmos - 聚光灯的 Gizmos 绘制C++ 生成网格代码LearnGL - 学习笔记目录前一篇:LearnGL - 13 - PointLight - 点光源 实现了 点光源 的最简单的着色方式这篇:我们尝试给 “聚光灯” 类型的光源本人才疏学浅,如有什么错误,望不吝指出。其实 聚光灯 与 点光源 很类似,以为区别比较大的是: 聚光灯 有光照的张角范围,而不像 点光源 的张角是全方位的范围。所以相比上一篇来说,代码的添加与调整原创 2020-07-29 22:04:05 · 885 阅读 · 0 评论 -
LearnGL - 13 - PointLight - 点光源
文章目录点光源与方向光比较光衰减距离衰减作用范围衰减对应的 Inspector 面板参数演示光源的切换ShaderReferencesLearnGL - 学习笔记目录前些篇:LearnGL - 11.1 - 实现简单的Gouraud-Phong光照模型LearnGL - 11.2 - 实现简单的Phong光照模型LearnGL - 11.3 - 实现简单的Blinn-Phong光照模型LearnGL - 11.4 - 实现简单的Flat BlinnPhong光照模型这些演示光照计算中,都是原创 2020-07-28 17:28:01 · 851 阅读 · 0 评论 -
投影矩阵的推导(Deriving Projection Matrices)
文章目录概述: 什么是投影?正交投影(Orthographic Projection)透视投影(Perspective Projection)总结原文:Deriving Projection Matrices在学习 LearnGL - 学习笔记目录 之前找过一些关于 透视矩阵 的教程,发现有很多写的不错的文章,如:OpenGL Transformation,但这里我只列出一个写的 最清晰 的,就上面原文的内容 Deriving Projection Matrices,因为作者将每一项的推导过程写的相转载 2020-07-27 17:54:42 · 1799 阅读 · 0 评论 -
LearnGL - 11.5 - 矩阵04 - 法线从对象空间变换到世界空间
文章目录Unity 中的处理OpenGL 处理总结ReferencesUnity 中的处理在 Unity ShaderLab 中,你可能会看到内置的函数:// Transforms normal from object to world spaceinline float3 UnityObjectToWorldNormal( in float3 norm ){#ifdef UNITY_ASSUME_UNIFORM_SCALING return UnityObjectToWorldDir原创 2020-07-22 18:33:35 · 979 阅读 · 2 评论 -
LearnGL - 11.2 - 实现简单的Phong光照模型
文章目录Phong、Gouraud-Phong 的区别LearnGL - 学习笔记目录前一篇:LearnGL - 11.1 - 实现简单的Phong光照模型 了解了 Phong 光照模型的基本认识。这篇:我们将对 Gouraud-Phong 光照模型实现一个简单的实现本人才疏学浅,如有什么错误,望不吝指出。Phong、Gouraud-Phong 的区别在前一篇了解到 Phong 的实现,主要都是依赖 Vertex Shader(顶点着色器)阶段来计算的。而 Gouraud-Phong 比较大原创 2020-07-21 11:05:20 · 549 阅读 · 0 评论 -
LearnGL - 11.3 - 实现简单的Blinn-Phong光照模型
文章目录Blinn-PhongPhong 的高光计算量Blinn-Phong 的高光计算量在 GGB 看看数值效果Blinn Phong in vsBlinn Phong in fs运行效果气球猫的效果环境光Phong 中环境光效果稍微调整一下环境光的处理完整的气球猫 三种 ShaderPhong ShaderGouraud Phong ShaderBlinn Phong ShaderLearnGL - 学习笔记目录前些篇:LearnGL - 11.1 - 实现简单的Phong光照模型LearnG原创 2020-07-21 11:05:27 · 571 阅读 · 0 评论 -
LearnGL - 11.1 - 实现简单的Gouraud光照模型 & dot 点积/点乘的作用
文章目录PhongReferencesLearnGL - 学习笔记目录前一篇:LearnGL - 11 - 光与颜色前置篇这篇:我们将对 Phong 光照模型实现一个简单的实现本人才疏学浅,如有什么错误,望不吝指出。Phong在百度百科中也有简介:Phong光照模型Phong 着色器模型,中文也叫:冯氏着色法,该光照模型是很简单的光照模型,只有:环境光、漫反射、高光。环境光 用于模拟物体反射周围的物体颜色,在 phong 中,只是纯颜色值作为环境光直接叠加。漫反射 用于模拟光入射到物体原创 2020-07-21 11:05:10 · 2498 阅读 · 0 评论 -
LearnGL - 11 - 光与颜色前置篇
文章目录光子眼球大脑接收物体颜色总结ReferencesLearnGL - 学习笔记目录本人才疏学浅,如有什么错误,望不吝指出。说到颜色,就会联系到光。个人理解:颜色,就是我们的大脑对某种生物信号的识别,这种生物信号是由:眼球感光后的视网神经编码的生物电信号。分不同光波编码可见光大脑接收解码光子眼球大脑接收呈像光子光是什么?是如何产生的?用通俗之言解读,让你瞬间走进光的世界 - 说的是能量溢出也就是说光子是基本上是从一个物质上能量溢出后而喷发出来的微粒子而光子是按一定的波形运动的微粒子原创 2020-07-16 11:34:03 · 574 阅读 · 0 评论 -
LearnGL - 06.2 - Matrix - 矩阵03 - 逆矩阵、行列式、伴随矩阵、余子式、代数余子式、练习
文章目录逆矩阵-inverse matrix行列式-determinant伴随矩阵-adjugate、adjoint matrix余子式-Cofactor、Minor余子项余子式代数余子式-Algebraic cofactor、Minor伴随矩阵-二维的例子ReferencesLearnGL - 学习笔记目录本人才疏学浅,如有什么错误,望不吝指出。上些篇:LearnGL - 06 - Matrix - 矩阵01,了解了矩阵就是定义一个坐标空间的轴向LearnGL - 06.1 - Matrix原创 2020-06-24 22:15:05 · 2185 阅读 · 0 评论 -
LearnGL - 06.1 - Matrix - 矩阵02 - 向量空间、向量空间的维度、为何矩阵乘法要有 [M x N] * [N * P] 的 N 要相等的限制
文章目录矩阵乘法为何有维度限制?什么是向量空间?什么是向量空间的维度?理解为何有这个限制LearnGL - 学习笔记目录本人才疏学浅,如有什么错误,望不吝指出。上一篇:LearnGL - 06 - Matrix - 矩阵01,了解了矩阵就是定义一个坐标空间的轴向这一篇:这篇再讲一丢丢关于矩阵的乘法内容,这些都是个人看的零散资料总结的内容。矩阵乘法为何有维度限制?就是 3x3 不能和 4x1 的矩阵相乘。但是3x3 的矩阵可以和 3x1 的矩阵向量。第一次遇到这个限制的同学,在看教科书上可能只会原创 2020-06-22 15:43:48 · 424 阅读 · 0 评论 -
LearnGL - 06 - Matrix - 矩阵01 - 齐次坐标、缩放、旋转矩阵(欧拉 Euler 角)
文章目录点在坐标系下的定位3x3扩展4x4添加偏移量齐次坐标缩放矩阵旋转矩阵在 Shader 中实现一些旋转旋转顶点运行效果旋转纹理 UV运行效果总结ReferencesLearnGL - 学习笔记目录本人才疏学浅,如有什么错误,望不吝指出。上一篇:LearnGL - 05.3 - 封装 Main.cpp 中重复 GLFW代码,让新建的项目更方便的开展。这一篇:这篇我们在讲一丢丢关于矩阵的内容。本来我不想写关于矩阵的内容。因为要排版很多内容(Katex挺多),-_-!!!,但是想了一下,还是加上原创 2020-06-19 22:20:06 · 1373 阅读 · 0 评论 -
penumbra shadows in raymarched SDFs - 光线步进中使用有向距离场实现软阴影
文章目录Intro - 介绍原文:penumbra shadows in raymarched SDFsIntro - 介绍许多步进用的距离场(distance fields)函数,他们都是本身提供了全局信息。这意味着,当要着色着色某一点是,它可以使用距离场函数(distance function)很简单就探索出周围几何体。这不像传统的光栅器(扫描)...翻译 2020-04-29 10:40:32 · 1133 阅读 · 0 评论 -
Matrix Inverse -- 逆矩阵
如上图所示[1327]\begin{bmatrix}1 & 3 \\2 & 7\end{bmatrix}[1237]是可逆的因为[13]\begin{bmatrix}1 & 3 \end{bmatrix}[13]大概是这样[1327]\begin{bmatrix}1 & 3 \\2 & 7\end{bmatrix}[1237]大概是这样...原创 2019-10-25 08:29:44 · 2031 阅读 · 0 评论 -
用C# Bitmap作为画布写个3D软渲染器
3D 软渲染器,实现:Transformations,Rasterizer,FrontFace,Cull,DepthTest,Interpolation,VertexShader,PrimitiveAssembly,FragmentShader的实现原创 2019-07-16 00:21:52 · 2506 阅读 · 0 评论 -
C# 实现精简版的栅格化渲染器
MiniSoftRenderer精简的软栅格化渲染器,便于学习,实验用实现超级简单的功能VertexShader - to clip spaceVertexShader-PostProcessing - Perspective divide & Perspective correctPrimitiveAssembly - only triangle nowSimply cli...原创 2019-08-10 23:58:03 · 1137 阅读 · 0 评论 -
随机发生器:线性同余法
线性同余法这里不做过多介绍,搜一下就知道核心函数:xn+1=(a∗xn+b)%mx_{n+1}=(a*x_n+b) \% mxn+1=(a∗xn+b)%mxn+1x_{n+1}xn+1就是我们下一个要算的随机数x0x_0x0是我们的种子数Code // jave.lin 2019.08.20 public class Ran { priv...原创 2019-08-21 22:11:49 · 927 阅读 · 0 评论 -
CG cosh, exp, sinh, smoothstep, tanh, perlin_easeCurve1/2 曲线
// see: https://developer.download.nvidia.cn/cg/cosh.htmlfloat cosh(float x){ return 0.5 * (exp(x)+exp(-x));}为何叫双曲线因为exp(x)就是一个曲线,而cosh中有exp(x)与exp(-x),所以就是两个(双)曲线咯exp(x)曲线exp(-x) 曲线exp(......原创 2019-08-23 12:24:19 · 1673 阅读 · 0 评论 -
HSV/HSB/HSL 色相、饱和度、亮度的色彩模型
什么是HSV/HSB/HSL首先理解 HSV/HSB/HSL 都是什么我理解:HSV : Hue, Saturate, ValueHSB : Hue, Saturate, BrightnessHSL : Hue, Saturate, Lightness(或是Luminance)Hue : 色相Saturate : 饱和度其中的Value、Brightness、Lightness...原创 2019-09-03 22:21:23 · 6133 阅读 · 0 评论 -
3 * 3,应用在2D中的矩阵结构,及位移,旋转,缩放的内部应用
看到有位博客写得简单明:原文:http://hi.baidu.com/hj11yc/item/a39fd2b02c7e8aadeaba9309图像的旋转,平移和缩放平时开发程序,免不了要对图像做各种变换处理。有的时候变换可能比较复杂,比如平移之后又旋转,旋转之后又平移,又缩放。直接用公式计算,不但复杂,而且效率低下。这时可以借助变换矩阵和矩阵乘法转载 2013-08-30 11:44:38 · 3399 阅读 · 0 评论 -
OpenGL Transformation 几何变换的顺序概要(MVP,NDC,Window坐标变换过程)
OpenGL Transformation 几何变换的顺序概要(MVP,NDC,Window坐标变换过程)Geometry transforming or culling sequence:application passing the vertex pos(object space pos) to the shader program。transforming of clip space pos from object space pos ...原创 2019-07-13 17:39:36 · 1344 阅读 · 0 评论 -
C 自定一个Mini GC
看了一篇:Baby's First Garbage Collector先是看了一篇译文感觉代码中,可以看到,很多的一些思路;非常赞;在面对很多资源管理,处理,回收,还是很值得参考的;这让你对java,或是C#中的GC,更了解;转载 2014-03-26 12:08:49 · 1247 阅读 · 0 评论 -
as3 与 pc com口(串口)通讯思路
虽然没有使用过:air;air 的开发基础语言:as3,air native extentions (ANE) ,可用于扩展各种平台下为实现,as3实现不了的功能,而做扩展;这个准备研究;但as3 与 com口通讯,可以不使用ane,有这么一个思路;只不过是绕了一圈;可以实现,C#,调用com口,再用c# socket与as3 socket通讯即可;原创 2013-05-23 10:56:01 · 5246 阅读 · 0 评论 -
AS3 BitmapData.perlinNoise()方法的用途
BitmapData.perlineNoise()方法让BitmapData画布可以生成很多杂点;而且调整参数让杂点之间的颜色间隔过度相对圆滑很多;这样一来,如果BitmapData画布是N * 1或是 1 * N大小;因为横向、纵向(宽、高)为1的大小;所以可以理解该画布的形状,就是一条线,而且这条线的每个点之间的颜色alpha差值都是有一定的规律,就像给该线填充的渐变填充一原创 2013-09-27 18:10:44 · 2152 阅读 · 0 评论 -
TCP三次握手的生活逻辑表现方式
不小心在学习别的资源时,看到,关于,TCP三次握手的各种理解;其实,这是一种,流程(事件、生活中的:事情)的首要条件;如:A、B说好明天吃完饭后,准备一齐去shopping;第一种情况:到了第二天,A吃完饭后,给B打了电话:“你吃完饭没有?”,B回道:“吃了,你呢?”,但A没听到,因为B正刚买完菜回家路上,刚进电梯接了电话,但由于,信号不好;没听到;没有给A正确的回应,原创 2013-01-15 15:51:22 · 808 阅读 · 1 评论 -
AS3 中的Socket类中,处理无效链接,或是链接不上的处理
帮助文档中的一些代码段:import flash.errors.*;import flash.events.*;import flash.net.Socket;class CustomSocket extends Socket { public function CustomSocket(host:String = null, port:uint = 0) {原创 2013-01-21 15:43:11 · 3240 阅读 · 0 评论 -
分享维基的:图片文件数据结构,非常详细。
源于我在天地会发问的贴子:http://bbs.9ria.com/viewthread.php?tid=118085部分自己理解了理出来让大家吸收吸收:在google一下:bmp file formatjpg file formatpng file format以下分享的就是bmp的文件数据结构:其它格式自己再去强大的维基百科找吧。英文链接:ht原创 2012-03-26 11:35:44 · 2013 阅读 · 0 评论 -
矩阵理解
先放一小部份的理解内容相乘矩阵:A 1 2 3 4 5 6 7 8 9矩阵:B 10 11 12 13 14 15 16 17 18A * B = C因为会使用到被乘矩阵的行,与乘矩阵的列,的每个分量的商,再把这些商加起来;所以A * B 不一定等于 B * AA[M x N] * B[N x P]原创 2015-12-26 11:14:08 · 692 阅读 · 0 评论 -
FK、IK
Transform:translation, scale, rotationFK:从父级到子级的逐部影响子骨骼的transform IK:先定位一个子骨骼的transform来推导出父骨骼的transform原创 2016-03-02 14:13:43 · 741 阅读 · 0 评论 -
PS中图层混合模式的Blend公式
自己的总结:(伪代码+注释) // 混合模式的代入式:// 颜色的数据类型,里头分另有(RGBA/XYZW)的分量组合在, // 与单个标量的运算时:未指定分量运算时 // 默认是 float4(RGBA/XYZW)// 旧的已绘制出来的图层颜色 // 也叫:DESTINATION COLOR(个人觉得:OLD COLOR BUFFER可读性会好N多,想不明白这命名怎么回事) var o原创 2016-04-07 15:21:55 · 7579 阅读 · 0 评论 -
常用拓扑结构
参考:百科原创 2018-03-21 14:35:13 · 972 阅读 · 0 评论 -
SSH
粗略瞄了一下下SSH的概念 如果有错,有请大神指点指点更具体的了解请:度娘、必应、谷歌密钥表 ID Key 1 1101 2 1011 3 0011开始SSH前的过程 从上图可知,只要确保密钥表中的Key只有Client、Server知道就OK了。中间人一脸懵逼思考密钥表相关的内容密钥表的...原创 2018-03-22 13:50:21 · 196 阅读 · 0 评论