草庐IT

geometry-shader

全部标签

【Unity Shader】Unity中自阴影优化方案

上一篇记录了在Unity中阴影映射的标准流程实现,本篇博客一起来看看阴影映射存在的自遮挡/自阴影问题及其优化方案。因为在之前学习202的过程中也有记录这方面的内容,所以这里结合我的GAMES202作业1-实现过程详细步骤这篇博客以及百人计划实时阴影那节课再来巩固一下。1产生原因浮点计算精度采样问题(shadowmap上一个值对应太多物体表面边界点)由于阴影映射的分辨率有限,或者说采样的时候做判断时“比大小”的过程数值精度比较会有偏差,难免会造成不正确的自遮挡阴影,关键在于“自”!是指物体自己表面上出现了本不该有的阴影锯齿。而且这种不正确的自遮挡阴影往往会出现在物体和光线靠近的那种边缘处,出现这

【Unity Shader 角色技能热扭曲效果_案例分享】

【UnityShader角色技能热扭曲效果_案例分享】完整代码如下:Shader"案例分享/Distort"{Properties{_DistortTex("Texture",2D)="white"{}_Distort("SpeedXSpeedYDistortZ",vector)=

【Unity Shader 角色技能热扭曲效果_案例分享】

【UnityShader角色技能热扭曲效果_案例分享】完整代码如下:Shader"案例分享/Distort"{Properties{_DistortTex("Texture",2D)="white"{}_Distort("SpeedXSpeedYDistortZ",vector)=

案例(一) Z-Indexing Geometry

 使用官方github包,部分解释来源于Viewer-CesiumDocumentation   Cesium.Ion.defaultAccessToken=    "token";   constviewer=newCesium.Viewer("cesiumContainer");   viewer.entities.add({    //entities获取实体集合    id:"redrectangle,zIndex1",    rectangle:{     //设置或者获取矩形     coordinates:Cesium.Rectangle.fromDegrees(-110.0,2

案例(一) Z-Indexing Geometry

 使用官方github包,部分解释来源于Viewer-CesiumDocumentation   Cesium.Ion.defaultAccessToken=    "token";   constviewer=newCesium.Viewer("cesiumContainer");   viewer.entities.add({    //entities获取实体集合    id:"redrectangle,zIndex1",    rectangle:{     //设置或者获取矩形     coordinates:Cesium.Rectangle.fromDegrees(-110.0,2

【Unity Shader】实现透明度测试和透明度混合

本篇开始将进行《入门精要》初级篇最后一部分的学习,完成透明效果的学习。1Unity中实现透明效果的方法一个像素的RGBA参数中的最后一项A指的就是透明度Alpha。在之前的实践中,一般值都默认是1,我们认为完全不透明,就像一个片元着色器输出的fixed4颜色值的第四个数值总会是1;当像素透明度为0时则表示像素完全不显示(完全透明)。Unity中实现透明效果通常有两种方法,透明度测试(AlphaTest)和透明度混合(AlphaBlending)。1.1透明度测试1.1.1原理透明度测试原理很简单,就是在正常光照的基础上,加上一个float类型的_Cutoff透明度参考数值,定义一个完全透明/不

【Unity Shader】实现透明度测试和透明度混合

本篇开始将进行《入门精要》初级篇最后一部分的学习,完成透明效果的学习。1Unity中实现透明效果的方法一个像素的RGBA参数中的最后一项A指的就是透明度Alpha。在之前的实践中,一般值都默认是1,我们认为完全不透明,就像一个片元着色器输出的fixed4颜色值的第四个数值总会是1;当像素透明度为0时则表示像素完全不显示(完全透明)。Unity中实现透明效果通常有两种方法,透明度测试(AlphaTest)和透明度混合(AlphaBlending)。1.1透明度测试1.1.1原理透明度测试原理很简单,就是在正常光照的基础上,加上一个float类型的_Cutoff透明度参考数值,定义一个完全透明/不

Unity URP 渲染管线实战:URP渲染管线Shader机制剖析

前言 对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀!如图1.4-1所示: URP渲染管线实现了内置的PBR,Unlit,地形等游戏开发中常用的Shader。1:URPUlitShader如图1.4-2所示:UnlitShader还是采用的Unity经典的ShaderLab语法,还是熟悉的配方熟悉的味道。主要结构依然是Shader{SubShader{pass{}pass{}},SubShader{},FallBack}与标准的UnityShader开发不同的是URPShader内嵌HLSL的代码,标准的是Cg的代码,其它的差不多。 对于UnlitShader有两

Unity URP 渲染管线实战:URP渲染管线Shader机制剖析

前言 对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀!如图1.4-1所示: URP渲染管线实现了内置的PBR,Unlit,地形等游戏开发中常用的Shader。1:URPUlitShader如图1.4-2所示:UnlitShader还是采用的Unity经典的ShaderLab语法,还是熟悉的配方熟悉的味道。主要结构依然是Shader{SubShader{pass{}pass{}},SubShader{},FallBack}与标准的UnityShader开发不同的是URPShader内嵌HLSL的代码,标准的是Cg的代码,其它的差不多。 对于UnlitShader有两

【QT项目:视频播放器——Qt opengl编程】通过shader完成显示yuv

通过Qtopengl不是为了3D绘制,而是为了将视频绘制起来使用opengl可以极大降低yuv转rgb的转换开销使用Opengl需要考虑三大问题:1、QOpenGLWidget(与界面如何交互)1、为什么用QT的opengl简单,界面可以自动叠加voidpaintGL();//具体的绘制写在该函数里voidinitializeGL();//材质初始化voidresizeGL(intwidth,intheight);//当窗口发生变化(缩放)QOpenGLFunctions//不需要手动添加库,直接继承该函数2、ProgramGLSL顶点和片元(如何与显卡交互)GLSL是新的语言,通过GLSL与