gpt4 book ai didi

c++ - 如何将 float 转换为 int 保留位值

转载 作者:行者123 更新时间:2023-12-02 03:15:20 25 4
gpt4 key购买 nike

我有一个 float4 进入计算着色器,其中 3 个 float 实际上是 float ,但第四个是 2 个 uint 一起移位,我如何通过保留位序列而不是数值来将 float 转换为 uint?

在 C++ 方面,我通过创建一个 uint 指针、用所需的数字填充它并将该指针作为浮点指针传递来解决它。然而,在 hlsl 中,与 c/c++ 类似,没有指针,所以我卡在这里:|

最佳答案

在 HLSL 中,您应该能够执行以下操作(假设您想要的值位于 f4.w 中)

uint ui = asuint( f4.w );
uint ui1 = ui & 0xffff;
uint ui2 = ui >> 16;

基本上看起来像 asuint intrinsic是你的 friend :)

关于c++ - 如何将 float 转换为 int 保留位值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11035442/

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