![]() |
1
0
好吧,我不是一个直接的X专家,所以我要假设一些事情。 首先,我假设您有一个drawQuad()函数,它在您的渲染类中获取4个角和一个纹理。 首先我们要得到当前的视区矩阵
让我们设置一些任意大小的
现在我们需要计算两个向量,上单位向量和右单位向量。
现在我们需要为我们的对象定义一个位置,我只想使用原点。
让我们加载太阳纹理:
现在让我们找出4个角。
让我们画四方形。我假设这个函数存在,否则您需要这样做 一些顶点绘制。
享受:)! |
![]() |
2
1
最简单的方法做屏幕对齐四元是使用点精灵与纹理重写。
启用此模式后,绘制一个顶点,而不是一个点,屏幕对齐的四元体是renderd。坐标替换意味着渲染的四元体将使用纹理坐标进行处理。这意味着您可以在四边形上放置任何纹理。通常情况下,你会希望有阿尔法通道的东西无缝地融入到背景中。 在d3d中应该有一个同样简单的方法来完成它。另外,如果你编写一个明暗器,它可能允许你做一些额外的事情,比如丢弃一些纹理的像素。
This tutorial might help
——
编辑
sun with alpha channel http://www.shiny.co.il/shooshx/sun.png
如果你在photoshop中打开这张图片,你会看到背景是不可见的。
|
![]() |
3
0
是的,广告牌通常是用来做这个的。计算广告牌角落的坐标和纹理参数非常简单。纹理本身可以使用其他技术(例如,在系统RAM中的应用程序中)进行渲染。 它非常简单,可以从要渲染对象的世界坐标的中心点获取相机的右上方向向量,并添加/细分这些向量(适当缩放)。 |
![]() |
AstralHex · 矩阵乘法代码工作不正常 5 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 6 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 6 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 6 月前 |