渲染
文章平均质量分 71
popcorn丶
爱玩游戏,研究游戏玩法
展开
-
Unity中的Compute Shader
游戏开发中,dot编程在处理大数量级的运算应用已经越来越广泛了,而GPU本身对大规模数据的并行计算已经越来越强了,因此现在许多游戏处理大量物体的计算可以利用GPU这一特性,加快并发计算速度,Compute Shader就是专门利用这一特性的。原创 2022-03-27 22:13:03 · 9511 阅读 · 1 评论 -
unity图像压缩算法原理
概述在计算机图形学中,存在许多纹理压缩方案。压缩既减少了纹理内存占用,又降低了使用纹理的带宽要求。本文中,“纹理压缩”与“图像压缩”不同,因为纹理压缩方案的设计允许作为纹理采样的一部分进行有效的随机访问。“图像压缩”可以通过将图像视为一个整体来进一步减少图像冗余,但这样做对于有效的纹理访问操作是不切实际的。本文主要介绍几种unity当前主流的图像压缩算法,并给出推荐理由。unity图像压缩算法原理概述目的术语算法S3TC1. BC1 with no alpha2. BC1 with alpha3. B原创 2021-09-29 01:54:18 · 5090 阅读 · 2 评论 -
使用python opencv批量对贴图进行除透明边并压缩
import globimport cv2def access_pixels(file, frame): print(frame.shape) # shape内包含三个元素:按顺序为高、宽、通道数 height = frame.shape[0] weight = frame.shape[1] channels = frame.shape[2] print("weight : %s, height : %s, channel : %s" % (weight.原创 2021-04-23 10:54:29 · 533 阅读 · 1 评论 -
unity shader变体之#pragma multi_compile 和 #pragma shader_feature
shader为什么需要变体: 写shader的人,都知道要减少if条件分支语句的使用,原因在于,当你的shader执行一条指令的时候,并不是操作一个像素,而是同时操作一组像素,并一条一条指令向下执行。如果if的两条分支都有可能执行,那么执行的逻辑就是两条分支的和,因此当if条件中仅有uniform变量和常量组成的时候,if的选择是固定的,if不会两个条件都走到,那么也就没有性能问题。但是实际问题并不是所有的条件语句都是确定性结果的,大多数我们执行的时候是需要判断动态的结果的,那么怎么办,u...原创 2020-06-20 15:51:09 · 5116 阅读 · 0 评论 -
Unity URP中的Post-processing
在Unity中,你可以选择不同的渲染管道。渲染管道执行一系列获取场景内容的操作,并在屏幕上显示它们。在高水平上,这些操作包括:Culling,Rendering,Post-processing。不同的渲染管道具有不同的功能和性能特征,适用于不同的游戏、应用和平台。Unity提供了以下渲染管道:内置的渲染管道:Unity的默认渲染管道。它是一个通用的呈现管道,只有有限的定制选项。 通用渲染管道(URP):一个可编写脚本的渲染管道,可以快速、轻松地定制,并允许您跨广泛的平台创建优化的图形。原创 2020-06-19 01:56:52 · 13539 阅读 · 8 评论 -
unity shader中常用的几种texture纹理blend混合方式
最近在做一个武器皮肤的系统,为了让每个玩家都获得一种独一无二的武器,我们决定给皮肤做变体生成,那么这张皮肤就不能直接用一张美术给的贴图,而要通过一些可变的参数,让每个皮肤产生不一样的效果。因此我们需要使用多张不一样的贴图根据一系列参数,混合成一张皮肤贴图。但是混合的方式多种多样,怎么才能实现比较好的效果呢,经过一段时间的学习跟实践开发,以及对一些其他游戏的研究,大致纹理的混合有以下的一些方式:方式一: 最常见的混合方式就是alpha混合,通常alpha混合的是带透明度的物体:...原创 2020-06-06 16:24:48 · 5097 阅读 · 0 评论 -
unity shader渲染状态的设置
在pass中,我们可以设置一些渲染状态:culling 与深度测试阶段: culling与深度测试是为了减少没必要的overdraw的,大大减少像素着色器的计算量。Cull 控制哪一面将会被剔除:Back,不渲染多边形背面(默认) Front,不渲染正面 Off,都不剔除,两面都渲染ZWrite 控制是否需要写入深度缓存,默认开启,一般渲染半透明物体的时候关闭 ZTest 控制深度测试怎么测试,默认为LEqual ZTest Less | Great...原创 2020-05-17 17:35:55 · 1334 阅读 · 2 评论 -
unity shader中关于Tags的整理
在我们写unity shader的时候经常会遇到要定义一些shader tags的时候,但是又不能知道到底要设置哪些状态,有哪些状态可以设置,每次都要去网上搜索,感觉很麻烦,因此特地整理了一下,以便以后需要用的时候查阅。Unity shaderLab 中的Tags一起包括2类:ShaderLab: SubShader Tags ShaderLab: Pass Tags Own tags 一个是定义在subshade中的Tags 一个是定义在Pass中的Tags,以及可以使用自定义...原创 2020-05-17 15:59:49 · 2670 阅读 · 0 评论 -
unity游戏开发之移动平台下的渲染优化
最近学习unity shader,发现很多提到怎么优化shader的一些概念,但是都是零零散散, 感觉总是少点什么,似懂非懂的感觉,因此梳理了一下最近学习到的一些知识,分享给大家。对渲染流程理得不太清楚的,可以看一下我的另一篇文章,快速了解渲染管线:https://blog.csdn.net/qq_17347313/article/details/105028493 移动平台的特点:...原创 2020-04-26 20:38:22 · 912 阅读 · 0 评论 -
快速了解渲染管线
why 需要渲染: 渲染是最终使图像符合3D场景的一个阶段,通俗点来说就是把前期做好的各种模型、效果或动画的片段结合在一起,在这些过程中必然会涉及到复杂的特技和效果,以目前的计算机运算能力很难达到实时显示,所以要在编辑完图形图像后,通过调整修改得到我们所需要的最终效果进行输出,也就是渲染。cpu与gpu怎么交互的:如上图所示,cup gpu交互方行为可描述如下:...原创 2020-03-22 15:58:23 · 448 阅读 · 0 评论