gpt4 book ai didi

c++ - 使用 HLSL 进行帧旋转

转载 作者:太空宇宙 更新时间:2023-11-04 12:31:24 25 4
gpt4 key购买 nike

我们有一些媒体处理应用程序,我们需要旋转帧的能力。
我们使用 GPU。
我们在 HLSL 中有顶点着色器,代码如下:

struct VS_INPUT
{
float4 Pos : POSITION;
float2 Tex : TEXCOORD;
uint TexIdx : TEXINDEX;
};

struct VS_OUTPUT
{
float4 Pos : SV_POSITION;
float2 Tex : TEXCOORD;
uint TexIdx : TEXINDEX;
};

VS_OUTPUT VS(VS_INPUT input)
{
VS_OUTPUT output;
float2 pos_rotate = input.Pos.xy;
float rads = radians(45);
float cFlare = cos(rads);
float sFlare = sin(rads);
output.Pos = input.Pos;
output.Pos.xy = mul(pos_rotate, float2x2(cFlare, -sFlare, sFlare, cFlare));

output.Tex = input.Tex;
output.TexIdx = input.TexIdx;
return output;
};

因此,据我所知,sincos 以弧度表示角度。
弧度 以度数获取角度。
但正如我们所见,框架旋转了 90° 而不是 45°。

frame

最佳答案

ОК,C++ 代码中的问题,在其他调用堆栈中,框架按预期旋转。但是现在很难提供 C++ 代码...我想,我会把框架放在正确的调用堆栈中。

关于c++ - 使用 HLSL 进行帧旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58501110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com