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