Skip to content

Commit 5c8d1e1

Browse files
Add CameraBuffer type for camera buffers (#3414)
+Added all the pieces to use the new CameraBuffer type to encapsulate textures coming from camera buffers, that can be Texture2D or Texture2DArray, depending on the platform. +Added a SampleCameraBuffer operator (missing documentation) +Graphic test for camerabuffer +Operators LoadCameraBuffer and SampleCameraBuffer + Merge remote-tracking branch 'origin/vfx/docs/camera-buffers' into vfx/fix/1213482-camera-buffers-2
1 parent b3ab2b7 commit 5c8d1e1

File tree

50 files changed

+6744
-47
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+6744
-47
lines changed

TestProjects/VisualEffectGraph_HDRP/Assets/AllTests/Editor/Tests/VFXComponentTest.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -913,6 +913,7 @@ bool fnHas_UsingBindings(VFXValueType type, VisualEffect vfx, string name)
913913
case VFXValueType.Texture3D: return vfx.HasTexture(name) && vfx.GetTextureDimension(name) == TextureDimension.Tex3D;
914914
case VFXValueType.TextureCube: return vfx.HasTexture(name) && vfx.GetTextureDimension(name) == TextureDimension.Cube;
915915
case VFXValueType.TextureCubeArray: return vfx.HasTexture(name) && vfx.GetTextureDimension(name) == TextureDimension.CubeArray;
916+
case VFXValueType.CameraBuffer: return vfx.HasTexture(name);
916917
case VFXValueType.Boolean: return vfx.HasBool(name);
917918
case VFXValueType.Matrix4x4: return vfx.HasMatrix4x4(name);
918919
}
@@ -937,6 +938,7 @@ object fnGet_UsingBindings(VFXValueType type, VisualEffect vfx, string name)
937938
case VFXValueType.Texture3D:
938939
case VFXValueType.TextureCube:
939940
case VFXValueType.TextureCubeArray: return vfx.GetTexture(name);
941+
case VFXValueType.CameraBuffer: return vfx.GetTexture(name);
940942
case VFXValueType.Boolean: return vfx.GetBool(name);
941943
case VFXValueType.Matrix4x4: return vfx.GetMatrix4x4(name);
942944
}
@@ -961,6 +963,7 @@ void fnSet_UsingBindings(VFXValueType type, VisualEffect vfx, string name, objec
961963
case VFXValueType.Texture3D:
962964
case VFXValueType.TextureCube:
963965
case VFXValueType.TextureCubeArray: vfx.SetTexture(name, (Texture)value); break;
966+
case VFXValueType.CameraBuffer: vfx.SetTexture(name, (Texture)value); break;
964967
case VFXValueType.Boolean: vfx.SetBool(name, (bool)value); break;
965968
case VFXValueType.Matrix4x4: vfx.SetMatrix4x4(name, (Matrix4x4)value); break;
966969
}
@@ -1080,6 +1083,7 @@ object fnGet_UsingSerializedProperty(VFXValueType type, VisualEffect vfx, string
10801083
case VFXValueType.Texture3D:
10811084
case VFXValueType.TextureCube:
10821085
case VFXValueType.TextureCubeArray: return property.objectReferenceValue;
1086+
case VFXValueType.CameraBuffer: return property.objectReferenceValue;
10831087
case VFXValueType.Boolean: return property.boolValue;
10841088
case VFXValueType.Matrix4x4: return fnMatrixFromSerializedProperty(property);
10851089
}
@@ -1132,6 +1136,7 @@ void fnSet_UsingSerializedProperty(VFXValueType type, VisualEffect vfx, string n
11321136
case VFXValueType.Texture3D:
11331137
case VFXValueType.TextureCube:
11341138
case VFXValueType.TextureCubeArray: propertyValue.objectReferenceValue = (UnityEngine.Object)value; break;
1139+
case VFXValueType.CameraBuffer: propertyValue.objectReferenceValue = (UnityEngine.Object)value; break;
11351140
case VFXValueType.Boolean: propertyValue.boolValue = (bool)value; break;
11361141
case VFXValueType.Matrix4x4: fnMatrixToSerializedProperty(propertyValue, (Matrix4x4)value); break;
11371142
}
@@ -1163,6 +1168,7 @@ void fnSet_UsingSerializedProperty(VFXValueType type, VisualEffect vfx, string n
11631168
VFXValueType.Texture3D,
11641169
VFXValueType.TextureCube,
11651170
VFXValueType.TextureCubeArray,
1171+
VFXValueType.CameraBuffer,
11661172
VFXValueType.Boolean,
11671173
VFXValueType.Matrix4x4
11681174
};

0 commit comments

Comments
 (0)