- 博客(10)
- 资源 (2)
- 收藏
- 关注
原创 渲染积累(Shader篇)
Shader积累水波效果缩放旋转效果旋转矩阵过度人像遮挡透明物体遮挡效果 水波效果 过度写法: u_mode = math.max(math.min(u_mode + distortionMode * transitionSpeed, 1), 0) handletouch: //点击切换模式 distortionMode = distortionMode * -1 水波效果: //顶点浮动偏移量 offset = 2.0 * sin(10.0 * (PI * .5 * uv.y) + time); p
2021-10-09 15:33:14
265
原创 C++
c++位移操作类型转换伪随机数操作符 位移操作 << 高位弃,低位补0,符号位被移除表示溢出 >> 低位弃,高位(无符号数补0)(有符号数,负数补1,正数补0) 类型转换 隐式类型转换 :低–>高 显示类型转换: int (z) (int) z static_cast <intintint> (z) 伪随机数 头文件<cstdlib><cstdlib><cstdlib> srand(0); //伪随机数种子,产生不同的随机数序
2021-04-01 20:38:03
639
原创 游戏开发面试问题整理
游戏开发面试问题合集 堆栈 进程与线程 树的遍历算法 哈希与map 排序算法 unity资源导入、资源管理、打包 unity内存管理 计网 TCP http socket 链表代码手写 c++11 匿名函数、类型转换等 c++ 多线程 lua与c++交互 设计模式 渲染管线 ...
2021-04-01 18:25:27
1295
原创 lua
lualua表元表lua闭包特性lua弱引用 lua表 复制: mytable = {} mytable[1] = "lua" newtable = mytable newtable[1] = "c#" print(mytable[1]) -- c# print(newtable[1]) -- c# newtable[2] = "java" print(mytable[2]) -- java mytable = nil -- newtable还可用 操作: mttable = {“lua”,“c#”,“j
2021-04-01 18:15:48
168
原创 优化性能,解决卡顿的办法
优化渲染提高性能CPUGPU内存优化合批,降低drawcall CPU 对象的创建、加载、文件读取采用对象池,少使用临时变量; 对象隐藏而不销毁 使用预加载,推迟对象的创建,将创建放到多个任务中 提前计算好排版布局,缓存起来,简化视图层级组件,不可见的顶点不计算 减少顶点骨骼面片数量,减少计算复杂度 减少绘制参数变更 GPU 纹理渲染:尽量减少短时间内显示大量图片,将纹理打包成图集,多张图片合成一张显示来减少材质的数量;减小图片大小;采用多级纹理 双缓存 将离屏渲染操作转嫁到CPU上,比如用一张已绘制
2021-04-01 16:15:13
246
原创 设计模式总结
设计模式原则创建型模式观察者模式 原则 1. 开放封闭原则 对扩展开放,对修改关闭 2. 依赖倒置原则 针对接口编程,依赖于抽象而非具体,上层不应该依赖于底层 3. LSP原则 子类应该能完全替代父类,并且出现在父类出现的任何地方 4. 最少知道原则 减少实体间的相互作用,使模块独立 5. 接口隔离原则 多个接口比单个接口好,降低依赖性,减少耦合 6. 合成复用原则 尽量使用合成或聚合的方式,减少继承 创建型模式 1. 工厂模式 适用于复杂对象,易于扩展 2. 抽象工厂模式 创建一系列相关对象的通用接口,无
2021-04-01 15:49:01
71
原创 光照模型
光照模型环境光(ambient)漫反射光(diffuse)镜面光照(specular)BlinnPhong光照模型总结三种光照模型 环境光(ambient) ambient=aintensity∗lightcolor ambient = aintensity * lightcolor ambient=aintensity∗lightcolor aintensity: 表示环境光强度 lightcolor: 表示光的颜色,一般为白色 漫反射光(diffuse) diffuse=dintensity∗light
2021-04-01 14:26:50
394
1
原创 PBR的理解
PBR的理解基于物理的渲染要素贴图 基于物理的渲染 可以直接基于物理参数写材质,无论光照条件如何,看起来都正确。 要素 能量守恒 光照射到物体上会发生反射、吸收和散射,反射出去的光线永远小于入射光线 金属 属于导体,反射率高,吸收光而不散射 菲涅尔效应 光滑的物体,光的入射角越大反射率越高 微表面 微平面统计了概率上的取向度,与中间向量方向越一致,越得到清晰而集中的镜面反射,否则越宽阔模糊。 中间向量:(l v分别为入射向量和反射向量) h=l+v∣l+v∣ h = \frac{l+v}{\mid l+v
2021-03-31 21:34:05
277
原创 矩阵转换
矩阵转换缩放旋转平移正交投影透视投影 缩放 [Sx0000Sy0000Sz00001] \left[ \begin{matrix} Sx& 0 & 0 & 0 \\ 0 & Sy & 0 & 0 \\ 0 & 0 & Sz & 0 \\ 0 & 0 & 0 & 1 \\ \end{matrix} \right] ⎣⎢⎢⎡Sx0000Sy0000Sz00001⎦⎥⎥⎤
2021-03-31 21:02:32
416
原创 渲染管线
渲染管线顶点着色器阶段曲面细分、几何着色器阶段图元组装阶段屏幕映射光栅化片段着色器测试混合 顶点着色器阶段 进行MVP矩阵变换,转换到裁剪空间,输出齐次坐标[x,y,z,w] 曲面细分、几何着色器阶段 输出划分后的多个图元,增加三角形面片数量 图元组装阶段 将顶点组装成指定图元,做裁剪、背面剔除,减少进入光栅化阶段图元的数量,加速渲染进程。 屏幕映射 透视除法,转换标准设备空间[x/w,y/w,z/w,1],齐次规范化 视口变换,转换到屏幕空间 光栅化 物体到窗口坐标系之后,将3D连续物体转化为离散像素点,
2021-03-31 20:23:39
164
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人