Sen's blog

请使用 Ctrl + F5 刷新页面以获取最新博客内容

UnityShade入门精要(2·基础LightModel)

光照 如果它看起来是对的, 那么它就是对的 理论 颜色的本质? 看到的物体颜色,是光源发出的光线经过物体散射后到人眼 如何量化光?(辐射度量学) 一个物体表面的辐照度,是垂直于单位面积单位时间通过的光能量,对于不垂直的光能量,物体辐照度和costheta(光线和物体法线)成正比 光线与物体相交时? 会散射(反射(外部)和折射(内部))(不改变光线颜色)与吸收(改变光线颜色) 光照...

UnityShade入门精要(1·unityShader基础和Debug)

之前理论章节先略过,有时间再看,从第5章实战部分开始 渲染管线简化流程:data->CPU->GPU->演示,的过程,其中我们可以更改其中的shader可编程部分,完成不同的最终演示效果 在引擎中应用shader非常方便,其它的都是unity editor中的可视化的图形,仅需要将写好的shader应用到物体材质上,这个物体的渲染就会用这个着色器,那么根据shader的...

BreakOut_OpenGL下

BreakOut_OpenGL下 粒子 在游戏中创造一些有趣的效果比如火焰,青烟,烟雾,魔法效果,炮火残渣等 粒子特效由众多粒子组成,每个粒子其实就是总是面向摄像机方向,且大部分区域是透明的纹理的小四边形(sprite), 粒子结构体有生命值,位置,速度,颜色属性, 粒子有额外的shader,使用vec2 offest位置控制粒子运动,它还包含uniform color颜色,让我们可以...

BreakOut_OpenGL上

BreakOut_OpenGL上 用openGL.C++制作一个经典2D游戏——Breakout逃脱 游戏机制: 游戏要求玩家通过操控一个挡板在屏幕范围内左右移动 还有一个小球,在屏幕上运动,每次和(屏幕边框,砖块,挡板)碰撞都会使球根据碰撞位置改变运动方向 当球运动到屏幕底部边界的时候,游戏结束(失败) 当破坏所有的砖块,游戏结束(胜利) 游戏框架 对于项目涉及的所有模块,...

VulkanTutorial(18`Multisampling,Compute shaders)

Multisampling 我们不希望渲染效果有锯齿,它是由于像素分辨率导致的,解决问题的方式之一时多采样抗锯齿MSAA, 普通的光栅化渲染方式,每个像素有一个采样点,如果采样点在图元内,就绘制颜色,否则保留空白,由于分辨率,边缘处就会形成锯齿 MSAA是每个像素多个采样点,如果采样点在图元内,就让颜色*权重,否则采样点颜色为0,将一个像素内所有采样点颜色相加即像素颜色 Getting av...

VulkanTutorial(16`Depth buffering)

Depth buffering 之前顶点数据一直使用的2D坐标,这次我们使用3D数据,并且我们本次添加多个物体,然后进行深度测试 3D数据 首先修改Vertex结构体,并修改attributeDescriptions的格式 接下来,更新顶点着色器以接受并转换3D坐标作为输入。别忘了以后重新编译它! 最后,更新vertexs顶点实际数据: 多个物体 如果您现在运行应用程序,那么您应该...

个人博客网站搭建

简述 传统的企业网站搭建方式通过云服务器(阿里云/腾讯云/华为云购买) + 域名 + 框架 云服务器(Elastic Compute Service弹性计算服务,ECS)是一种虚拟化服务器,利用虚拟化技术,将物理服务器的计算资源(如CPU、内存、存储等)封装成一个或多个独立的虚拟环境,用户可以通过互联网远程访问和使用这些资源 域名(Domain Name)是由一串用点分隔的名字组成的,...