Fixing float data bug

This commit is contained in:
Dynamitos
2024-08-07 21:52:45 +02:00
parent 64a26bfd57
commit 3f8ce3a25e
3 changed files with 5 additions and 8 deletions
+3 -3
View File
@@ -23,17 +23,17 @@ float4 fragmentMain(in FragmentParameter params) : SV_Target
float3 result = float3(0, 0, 0);
for(int i = 0; i < pLightEnv.numDirectionalLights; ++i)
{
//result += pLightEnv.directionalLights[i].illuminate(lightingParams, brdf);
result += pLightEnv.directionalLights[i].illuminate(lightingParams, brdf);
}
for(uint i = 0; i < pLightEnv.numPointLights; ++i)
{
//uint lightIndex = pLightCullingData.lightIndexList[startOffset + i];
//result += pLightEnv.pointLights[i].illuminate(lightingParams, brdf);
result += pLightEnv.pointLights[i].illuminate(lightingParams, brdf);
}
result += brdf.evaluateAmbient();
// gamma correction
//result = result / (result + float3(1.0));
//result = pow(result, float3(1.0/2.2));
return float4(result, 1.0f);
return float4(result, brdf.getAlpha());
}
+1 -5
View File
@@ -51,7 +51,7 @@ void VertexData::updateMesh(entt::entity id, uint32 meshIndex, PMesh mesh, Compo
auto [instanceId, meshletOffset] = getCullingMapping(id, meshIndex, data.numMeshlets);
referencedInstance->updateDescriptor();
if (false && mat->hasTransparency()) {
if (mat->hasTransparency()) {
auto params = referencedInstance->getMaterialOffsets();
transparentData.add(TransparentDraw{
.matInst = referencedInstance,
@@ -136,15 +136,11 @@ void VertexData::createDescriptors() {
instance.offsets.textureOffset = offsets.textureOffset;
instance.offsets.samplerOffset = offsets.samplerOffset;
instance.offsets.floatOffset = offsets.floatOffset;
// instance.offsets.cullingCounterOffset = cullingOffsets.size();
// instance.numMeshlets = 0;
for (size_t i = 0; i < instance.instanceData.size(); ++i) {
cullingOffsets.add(instance.cullingOffsets[i]);
instanceData.add(instance.instanceData[i]);
instanceMeshData.add(instance.instanceMeshData[i]);
rayTracingScene.add(instance.rayTracingData[i]);
// instance.numMeshlets += instance.instanceMeshData[i].numMeshlets;
// cullingOffsets.add(numMeshlets);
}
}
}
+1
View File
@@ -75,6 +75,7 @@ void Material::updateDescriptor() {
.sourceData =
{
.size = floatData.size() * sizeof(float),
.data = (uint8*)floatData.data(),
},
});
floatBuffer->pipelineBarrier(Gfx::SE_ACCESS_TRANSFER_WRITE_BIT, Gfx::SE_PIPELINE_STAGE_TRANSFER_BIT, Gfx::SE_ACCESS_SHADER_READ_BIT,