Graphics - Pass

一些图形学的概念介绍,个人摘抄或整理,作为个人文章的词条引用;

Pass

将一组 Mesh/Parameter 输入转化为Pixel Output的过程,称做一个Pass;多Pass则是指将一组 Mesh/Parameter 输入在屏幕上Draw多次;

在Unity的Shaderlab中,我们经常会使用Pass{ }关键字为同一个材质声明多个RenderState不同的Pass实现一些效果,而在UE4中并没有在shader/材质层面做多Pass的支持;虽然有Layer,但并无法实现不同ShadingModel / RenderState计算结果的叠加,只是对MaterialParameter的计算结果做了混合;

多Pass的应用场景很多,比如外扩模型式描边;第一个Pass做正常的渲染,第二个Pass用BackfaceCull,DepthLess的RenderState设置,然后在VS中将顶点沿法线方向偏移;还有在渲染半透明物体时我们也会经常用到多Pass,比如半透明的物体一般不会写Depth,就会导致模型的内部和背面也被画出来, 造成显示乱序的效果;解决这个的方法是在第一个Pass中只写入Depth,不渲染任何像素,然后在第二个Pass中把RenderState设为DepthLEqual,这样就可以用DepthTest过滤掉我们不希望渲染出来的内部和背部了;其实多个Pass相当于给同一个Mesh不同的材质


根据提供的引用内容,这是一个关于QEMU虚拟机的配置问题。具体来说,这个问题涉及到如何在x86_64主机上为x86_64 QEMU域配置CPU模式为“passthrough”。 为了解决这个问题,您需要按照以下步骤进行操作: 1. 确保您的主机支持Intel VT-x或AMD-V虚拟化技术,并且已经启用了这些技术。 2. 安装QEMU和相关的虚拟化软件包。您可以使用以下命令在Ubuntu上安装它们: ```shell sudo apt-get install qemu-kvm libvirt-bin virtinst bridge-utils cpu-checker ``` 3. 检查您的CPU是否支持虚拟化,并且已经启用了虚拟化支持。您可以使用以下命令检查: ```shell kvm-ok ``` 如果输出结果为“INFO: /dev/kvm exists”和“KVM acceleration can be used”,则表示您的CPU支持虚拟化,并且已经启用了虚拟化支持。 4. 创建一个QEMU域,并将CPU模式设置为“passthrough”。您可以使用以下命令创建一个名为“vm1”的QEMU域,并将CPU模式设置为“passthrough”: ```shell virt-install \ --name vm1 \ --ram 2048 \ --disk path=/var/lib/libvirt/images/vm1.img,size=20 \ --vcpus=2 \ --cpu host-passthrough \ --cdrom /path/to/iso \ --os-type linux \ --os-variant ubuntu18.04 \ --network bridge=br0 \ --graphics vnc,listen=0.0.0.0 ``` 在这个命令中,您需要将“/path/to/iso”替换为您要安装的操作系统的ISO文件的路径。此外,您还需要将“br0”替换为您要使用的网络桥接的名称。 至此,您已经成功地为x86_64 QEMU域配置了CPU模式为“passthrough”。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DoomGT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值