草庐IT

pixel-shader

全部标签

自制游戏引擎之shader预编译

shader预编译为二进制,在程序运行时候加载,可以提升性能,节省启动时间.1.采用googleshaderc预编译与加载shader1.1下载代码https://github.com/google/shadercthird_party文件里需要放依赖的第三方因为电脑访问google的问题,无法通过shaderc-2023.4\utils\git-sync-deps脚本自动下载第三方,手动下载https://codeload.github.com/KhronosGroup/SPIRV-Tools/zip/refs/tags/v2023.3.rc1https://codeload.github.

在unity shader当中定义枚举值(两种方法)

第一种方法:使用Enum标识符在properties当中定义Enum,后面option1为显示面板内容,逗号分隔开的是值类型注意:值只能是整数定义之后直接可以在代码段中使用第二种方法:定义KeywordEnum标识符,并创建变体properties当中定义如上所述;之后在cg代码段中定义变体,前面加shader_feature_local注意:properties当中的变量不管大小写,#pragma之后所有字母需要大写,结构为_ENUMNAME_KEYWORD格式如上所述下来就可以用宏定义的方法使用枚举介绍完毕,看面板上的输出

javascript - Google Pixel 和 Google Pixel XL 设备的视口(viewport)宽度、高度和设备像素比是多少

我正在开发一个网站,想看看它在GooglePixel和GooglePixelXL设备上的运行情况。由于我无权访问这些设备,因此我需要知道这些设备的视口(viewport)宽度、高度和设备像素比。我已经尝试在Google上进行搜索,但仍然找不到任何有用的信息。最新的Chrome也没有在开发者工具中列出这些设备的尺寸。如果任何有权访问这些设备的人都能弄清楚所需的信息,那将非常有帮助。 最佳答案 Pixel和PixelXL均列为具有411×731的css像素分辨率,设备像素比分别为2.6和3.5。来源:https://material.i

javascript - Google Pixel 和 Google Pixel XL 设备的视口(viewport)宽度、高度和设备像素比是多少

我正在开发一个网站,想看看它在GooglePixel和GooglePixelXL设备上的运行情况。由于我无权访问这些设备,因此我需要知道这些设备的视口(viewport)宽度、高度和设备像素比。我已经尝试在Google上进行搜索,但仍然找不到任何有用的信息。最新的Chrome也没有在开发者工具中列出这些设备的尺寸。如果任何有权访问这些设备的人都能弄清楚所需的信息,那将非常有帮助。 最佳答案 Pixel和PixelXL均列为具有411×731的css像素分辨率,设备像素比分别为2.6和3.5。来源:https://material.i

内核编译-Pixel 6设备Android 13系统编译gki内核并整合KernelSU

背景为Pixel6编译内核,需要增加一些配置,和集成KernelSU。vmUbuntu22.04500g-24g内存默认状态:编译成功刷入真机后:下载内核以下操作前提:具备全球通上网以下操作前提:具备全球通上网以下操作前提:具备全球通上网参考官方文档通用内核映像(GKI)发布build|Android开源项目|AndroidOpenSourceProject如果未下载repo的先走这里流程,如果已经下载,忽略。(git和账号配置也是一样)mkdir~/binPATH

0.【AOSP+Pixel 5】Android13 开发环境搭建及源码下载、编译和刷机

文章目录前言搭建开发环境1.安装Git2.安装OpenJDK3.Python环境4.安装需要的软件包5.repo环境源码下载、编译和刷机1.下载源码2.编译源码3.刷机遇到的问题及解决方案1.使用初始化包下载源码解决方案2.undefined解决方案后语前言本人——入行Android没多久的萌新一枚。这个系列文章主要是我客制化Android系统的一些记录。以下是我的开发环境的信息:Android版本:13Android设备:Pixel5(欧版)操作系统:Ubuntu20.04.5LTS(64位)搭建开发环境先更新一下软件源和软件sudoapt-getupdatesudoapt-getupgra

Shader Coding 之 特效越跑越慢

Shader 特效越跑越慢问题的排查问题某屏幕特效shader逻辑是呈现自上而下或自左而右的扫描线效果,其核心逻辑大致如下floatt=fract(time/3.6);t=(t-0.5)*4.0-1.0;t=abs(x-t);t=1.0-smoothstep(0.005,0.008,t)+(1.0-smoothstep(0.002,0.04,t))*0.4;out_color.rgb=vec3(0.8,0.6,0.8);out_color.a=t;问题现象为:在运行一段时间后,出现卡顿表现,原本连续运动的扫描线呈现出一种间断性步进的效果,而非平滑地移动。分析与解决面对此问题,首先需要确认是否是

unity shader 入门 全透明与半透明效果实现

片元函数的fixed4类型的返回值的第4位即为阿尔法值,0代表完全不显示(透明),1代表完全显示。中间的数值代表半透明。但只修改这个值是不能直接修改透明度的,因为还要对队列等进行修改。本文介绍透明度测试与透明度混合,前者只能制作全透明效果,后者可制作半透明效果。透明度测试/全透明效果:如果要将纹理贴图的一部分显示为不透明,另一部分显示为完全透明,可以使用这个方法。方法很简单,在片元函数中加入如下内容:if((texColor.a-_Cutoff){   discard;//剪除、不显示该片元}这里的_Cutoff是设置的一个可以修改的系数,texColor.a为纹理贴图的阿尔法通道。当满足条件

Unity | Shader基础知识(什么是shader)

 一、什么是Shader?Shader的中文名叫着色器。二、什么是着色器?着色器的作用:这个世界是3D的,包括在Unity的场景中,我们建的球球,方块块之类的,都是3D的,但是,屏幕是2D的,把3D的东西,通过颜色的汇总,显示在2D的屏幕上。三、颜色是怎么汇总的?想知道颜色是怎么合到一起的,我们就找个图片,把它拆开看。因为世界上所有的颜色,都可以通过三种颜色(红绿蓝)组合出来。所以我们也把图片拆成这三种颜色。1.拆图片所有图片都是由四部分组成R红色、G绿色、B蓝色、A透明比如下面这个图: R(红色)的部分:G(绿色)的部分:B(蓝色)的部分:A(透明)的部分:这里解释一下A:A的意思是黑色的部

Unity Shader - 兰伯特漫反射

兰伯特漫反射公式:漫反射(Diffuse)= 光源颜色*max(0,cos(光方向和法线的夹角))公式原理: 从上面图片可以看出光照方向L与物体法相N形成的余弦值越大,反射光越大,角度为0度的时候最强Cos(0)=1,大于等于90度的时候为0Cos(90)=0;所以我们首先需要计算出法向量N和入射光方向L的角度的余弦值。我们可以通过他们的点乘来计算,公式如下:把向量归一化处理后,|L|和|N|都是1,可以简化为:让我们来实现以下:逐顶点漫反射:Shader"Unlit/001"{Properties{//漫反射颜色_Diffuse("_Diffuse",Color)=(1,1,1,1)}Sub