浏览代码

Reorder the OBB data for higher efficiency

/main
Evgenii Golubev 6 年前
当前提交
c75be1f3
共有 2 个文件被更改,包括 12 次插入12 次删除
  1. 6
      ScriptableRenderPipeline/Core/CoreRP/GeometryUtils.cs
  2. 18
      ScriptableRenderPipeline/Core/CoreRP/GeometryUtils.cs.hlsl

6
ScriptableRenderPipeline/Core/CoreRP/GeometryUtils.cs


{
// 3 x float4 = 48 bytes.
// TODO: pack the axes into 16-bit UNORM per channel, and consider a quaternionic representation.
public Vector3 center;
public float extentX;
public float extentY;
public float extentX;
public float extentY;
public Vector3 center;
public float extentZ;
public Vector3 forward { get { return Vector3.Cross(up, right); } }

18
ScriptableRenderPipeline/Core/CoreRP/GeometryUtils.cs.hlsl


// PackingRules = Exact
struct OrientedBBox
{
float3 center;
float3 right;
float3 right;
float3 up;
float3 up;
float3 center;
float extentZ;
};

float3 GetCenter(OrientedBBox value)
float3 GetRight(OrientedBBox value)
return value.center;
return value.right;
float3 GetRight(OrientedBBox value)
float3 GetUp(OrientedBBox value)
return value.right;
return value.up;
float3 GetUp(OrientedBBox value)
float3 GetCenter(OrientedBBox value)
return value.up;
return value.center;
}
float GetExtentZ(OrientedBBox value)
{

正在加载...
取消
保存