Starting to integrate mesh optimizer
This commit is contained in:
@@ -1,57 +1,58 @@
|
||||
const static float3 vertices[] = {
|
||||
// Right
|
||||
float3( 1, -1, 1),
|
||||
float3( 1, 1, 1),
|
||||
float3( 1, -1, 1),
|
||||
float3( 1, 1, -1),
|
||||
|
||||
float3( 1, 1, -1),
|
||||
float3( 1, -1, 1),
|
||||
float3( 1, -1, -1),
|
||||
|
||||
float3( 1, -1, -1),
|
||||
float3( 1, 1, 1),
|
||||
float3( 1, 1, -1),
|
||||
|
||||
// Left
|
||||
float3(-1, -1, -1),
|
||||
float3(-1, 1, -1),
|
||||
float3(-1, -1, -1),
|
||||
float3(-1, 1, 1),
|
||||
|
||||
float3(-1, 1, 1),
|
||||
float3(-1, -1, -1),
|
||||
float3(-1, -1, 1),
|
||||
|
||||
float3(-1, -1, 1),
|
||||
float3(-1, 1, -1),
|
||||
float3(-1, 1, 1),
|
||||
|
||||
// Bottom
|
||||
float3(-1, -1, 1),
|
||||
float3(-1, -1, -1),
|
||||
float3( 1, -1, 1),
|
||||
float3(-1, 1, 1),
|
||||
float3(-1, 1, -1),
|
||||
float3( 1, 1, 1),
|
||||
|
||||
float3( 1, -1, 1),
|
||||
float3(-1, -1, -1),
|
||||
float3( 1, -1, -1),
|
||||
float3( 1, 1, 1),
|
||||
float3(-1, 1, -1),
|
||||
float3( 1, 1, -1),
|
||||
|
||||
// Top
|
||||
float3(-1, 1, -1),
|
||||
float3(-1, 1, 1),
|
||||
float3( 1, 1, -1),
|
||||
|
||||
float3( 1, 1, -1),
|
||||
float3(-1, 1, 1),
|
||||
float3( 1, 1, 1),
|
||||
|
||||
// Back
|
||||
float3(-1, 1, 1),
|
||||
float3(-1, -1, -1),
|
||||
float3(-1, -1, 1),
|
||||
float3( 1, 1, 1),
|
||||
float3( 1, -1, -1),
|
||||
|
||||
float3( 1, 1, 1),
|
||||
float3( 1, -1, -1),
|
||||
float3(-1, -1, 1),
|
||||
float3( 1, -1, 1),
|
||||
|
||||
// Front
|
||||
float3( 1, 1, -1),
|
||||
float3( 1, -1, -1),
|
||||
float3( 1, 1, -1),
|
||||
float3(-1, -1, -1),
|
||||
|
||||
float3(-1, -1, -1),
|
||||
float3( 1, 1, -1),
|
||||
float3(-1, 1, -1),
|
||||
|
||||
float3(-1, 1, -1),
|
||||
float3( 1, -1, -1),
|
||||
float3(-1, -1, -1),
|
||||
// Back
|
||||
float3(-1, -1, 1),
|
||||
float3(-1, 1, 1),
|
||||
float3( 1, -1, 1),
|
||||
|
||||
float3( 1, -1, 1),
|
||||
float3(-1, 1, 1),
|
||||
float3( 1, 1, 1),
|
||||
|
||||
};
|
||||
|
||||
struct ViewParams
|
||||
@@ -80,7 +81,7 @@ VertexOutput vertMain(uint vertexIndex : SV_VertexID, uint viewIndex : SV_ViewID
|
||||
const static float2 invAtan = float2(0.1591, 0.3183);
|
||||
float2 sampleSphericalMap(float3 v)
|
||||
{
|
||||
float2 uv = float2(atan2(v.z, v.x), asin(v.y));
|
||||
float2 uv = float2(atan2(-v.z, v.x), asin(v.y));
|
||||
uv *= invAtan;
|
||||
uv += 0.5;
|
||||
return uv;
|
||||
|
||||
+58
-57
@@ -1,5 +1,62 @@
|
||||
import Common;
|
||||
|
||||
const static float3 vertices[] = {
|
||||
// Right
|
||||
float3(512, -512, 512),
|
||||
float3(512, 512, 512),
|
||||
float3(512, -512, -512),
|
||||
|
||||
float3(512, -512, -512),
|
||||
float3(512, 512, 512),
|
||||
float3(512, 512, -512),
|
||||
|
||||
// Left
|
||||
float3(-512, -512, -512),
|
||||
float3(-512, 512, -512),
|
||||
float3(-512, -512, 512),
|
||||
|
||||
float3(-512, -512, 512),
|
||||
float3(-512, 512, -512),
|
||||
float3(-512, 512, 512),
|
||||
|
||||
// Bottom
|
||||
float3(-512, 512, 512),
|
||||
float3(-512, 512, -512),
|
||||
float3(512, 512, 512),
|
||||
|
||||
float3(512, 512, 512),
|
||||
float3(-512, 512, -512),
|
||||
float3(512, 512, -512),
|
||||
|
||||
// Top
|
||||
float3(-512, -512, -512),
|
||||
float3(-512, -512, 512),
|
||||
float3(512, -512, -512),
|
||||
|
||||
float3(512, -512, -512),
|
||||
float3(-512, -512, 512),
|
||||
float3(512, -512, 512),
|
||||
|
||||
// Front
|
||||
float3(512, -512, -512),
|
||||
float3(512, 512, -512),
|
||||
float3(-512, -512, -512),
|
||||
|
||||
float3(-512, -512, -512),
|
||||
float3(512, 512, -512),
|
||||
float3(-512, 512, -512),
|
||||
|
||||
// Back
|
||||
float3(-512, -512, 512),
|
||||
float3(-512, 512, 512),
|
||||
float3(512, -512, 512),
|
||||
|
||||
float3(512, -512, 512),
|
||||
float3(-512, 512, 512),
|
||||
float3(512, 512, 512),
|
||||
};
|
||||
|
||||
|
||||
struct VertexShaderOutput
|
||||
{
|
||||
float4 clipPos : SV_Position;
|
||||
@@ -12,62 +69,6 @@ struct SkyboxData
|
||||
};
|
||||
ParameterBlock<SkyboxData> pSkyboxData;
|
||||
|
||||
const static float3 vertices[] = {
|
||||
// Back
|
||||
float3(-512, -512, 512),
|
||||
float3(-512, 512, 512),
|
||||
float3( 512, -512, 512),
|
||||
|
||||
float3( 512, -512, 512),
|
||||
float3(-512, 512, 512),
|
||||
float3( 512, 512, 512),
|
||||
|
||||
// Front
|
||||
float3( 512, -512, -512),
|
||||
float3( 512, 512, -512),
|
||||
float3(-512, -512, -512),
|
||||
|
||||
float3(-512, -512, -512),
|
||||
float3( 512, 512, -512),
|
||||
float3(-512, 512, -512),
|
||||
|
||||
// Top
|
||||
float3(-512, -512, -512),
|
||||
float3(-512, -512, 512),
|
||||
float3( 512, -512, -512),
|
||||
|
||||
float3( 512, -512, -512),
|
||||
float3(-512, -512, 512),
|
||||
float3( 512, -512, 512),
|
||||
|
||||
// Bottom
|
||||
float3(-512, 512, 512),
|
||||
float3(-512, 512, -512),
|
||||
float3( 512, 512, 512),
|
||||
|
||||
float3( 512, 512, 512),
|
||||
float3(-512, 512, -512),
|
||||
float3( 512, 512, -512),
|
||||
|
||||
// Left
|
||||
float3(-512, -512, -512),
|
||||
float3(-512, 512, -512),
|
||||
float3(-512, -512, 512),
|
||||
|
||||
float3(-512, -512, 512),
|
||||
float3(-512, 512, -512),
|
||||
float3(-512, 512, 512),
|
||||
|
||||
// Right
|
||||
float3( 512, -512, 512),
|
||||
float3( 512, 512, 512),
|
||||
float3( 512, -512, -512),
|
||||
|
||||
float3( 512, -512, -512),
|
||||
float3( 512, 512, 512),
|
||||
float3( 512, 512, -512),
|
||||
};
|
||||
|
||||
[shader("vertex")]
|
||||
VertexShaderOutput vertexMain(
|
||||
uint vertexIndex : SV_VertexId)
|
||||
@@ -101,5 +102,5 @@ float4 fragmentMain(
|
||||
|
||||
float factor = (output.texCoords.y - lowerLimit) / (upperLimit - lowerLimit);
|
||||
factor = clamp(factor, 0.0, 1.0);
|
||||
return lerp(float4(pSkyboxData.fogBlend.xyz, 1), finalColor, factor);
|
||||
return finalColor;//lerp(float4(pSkyboxData.fogBlend.xyz, 1), finalColor, factor);
|
||||
}
|
||||
@@ -113,5 +113,5 @@ float4 toneMapping(float2 uv : UV) : SV_Target
|
||||
value = agxLook(value);
|
||||
value = agxEotf(value);
|
||||
|
||||
return float4(hdrValue, 1);
|
||||
return float4(value, 1);
|
||||
}
|
||||
|
||||
@@ -59,6 +59,8 @@ ConstantBuffer<DrawCallOffsets> pOffsets;
|
||||
|
||||
struct Scene
|
||||
{
|
||||
StructuredBuffer<float> positions;
|
||||
StructuredBuffer<uint> indexBuffer;
|
||||
StructuredBuffer<InstanceData> instances;
|
||||
StructuredBuffer<MeshData> meshData;
|
||||
StructuredBuffer<MeshletDescription> meshletInfos;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import Common;
|
||||
import VertexData;
|
||||
import MaterialParameter;
|
||||
import Scene;
|
||||
|
||||
struct StaticMeshVertexData : IVertexData
|
||||
{
|
||||
@@ -12,7 +13,7 @@ struct StaticMeshVertexData : IVertexData
|
||||
VertexAttributes getAttributes(uint index)
|
||||
{
|
||||
VertexAttributes attributes;
|
||||
attributes.position_MS = float3(positions[index * 3 + 0], positions[index * 3 + 1], positions[index * 3 + 2]);
|
||||
attributes.position_MS = float3(pScene.positions[index * 3 + 0], pScene.positions[index * 3 + 1], pScene.positions[index * 3 + 2]);
|
||||
#ifndef POS_ONLY
|
||||
//attributes.qTangent = qTangent[index];
|
||||
attributes.normal_MS = float3(normals[index * 3 + 0], normals[index * 3 + 1], normals[index * 3 + 2]);
|
||||
@@ -26,7 +27,6 @@ struct StaticMeshVertexData : IVertexData
|
||||
#endif
|
||||
return attributes;
|
||||
}
|
||||
StructuredBuffer<float> positions;
|
||||
//StructuredBuffer<float> qTangents;
|
||||
StructuredBuffer<float> normals;
|
||||
StructuredBuffer<float> tangents;
|
||||
|
||||
Reference in New Issue
Block a user