THE STREET FINALLY RENDERS
This commit is contained in:
@@ -126,7 +126,6 @@ void DebugPass::createRenderPass()
|
||||
ShaderCreateInfo createInfo = {
|
||||
.name = "DebugVertex",
|
||||
.mainModule = "Debug",
|
||||
.additionalModules = { "Debug" },
|
||||
.entryPoint = "vertexMain",
|
||||
};
|
||||
vertexShader = graphics->createVertexShader(createInfo);
|
||||
|
||||
@@ -127,7 +127,6 @@ void LightCullingPass::publishOutputs()
|
||||
ShaderCreateInfo createInfo = {
|
||||
.name = "Culling",
|
||||
.mainModule = "LightCulling",
|
||||
.additionalModules = {"LightCulling"},
|
||||
.entryPoint = "cullLights",
|
||||
.rootSignature = cullingLayout,
|
||||
};
|
||||
@@ -215,7 +214,6 @@ void LightCullingPass::setupFrustums()
|
||||
ShaderCreateInfo createInfo = {
|
||||
.name = "Frustum",
|
||||
.mainModule = "ComputeFrustums",
|
||||
.additionalModules = {"ComputeFrustums"},
|
||||
.entryPoint = "computeFrustums",
|
||||
.rootSignature = frustumLayout,
|
||||
};
|
||||
|
||||
@@ -113,7 +113,6 @@ void SkyboxRenderPass::createRenderPass()
|
||||
ShaderCreateInfo createInfo = {
|
||||
.name = "SkyboxVertex",
|
||||
.mainModule = "Skybox",
|
||||
.additionalModules = {"Skybox"},
|
||||
.entryPoint = "vertexMain",
|
||||
};
|
||||
vertexShader = graphics->createVertexShader(createInfo);
|
||||
|
||||
@@ -110,11 +110,11 @@ void TextPass::createRenderPass()
|
||||
renderTarget = resources->requestRenderTarget("UIPASS_COLOR");
|
||||
depthAttachment = resources->requestRenderTarget("UIPASS_DEPTH");
|
||||
|
||||
ShaderCreateInfo createInfo;
|
||||
createInfo.mainModule = "TextPass";
|
||||
createInfo.defines["INDEX_VIEW_PARAMS"] = "0";
|
||||
createInfo.name = "TextVertex";
|
||||
createInfo.entryPoint = "vertexMain";
|
||||
ShaderCreateInfo createInfo = {
|
||||
.name = "TextVertex",
|
||||
.mainModule = "TextPass",
|
||||
.entryPoint = "vertexMain",
|
||||
};
|
||||
vertexShader = graphics->createVertexShader(createInfo);
|
||||
|
||||
createInfo.name = "TextFragment";
|
||||
|
||||
@@ -96,10 +96,11 @@ void UIPass::publishOutputs()
|
||||
|
||||
void UIPass::createRenderPass()
|
||||
{
|
||||
ShaderCreateInfo createInfo;
|
||||
createInfo.mainModule = "UIPass";
|
||||
createInfo.name = "UIVertex";
|
||||
createInfo.entryPoint = "vertexMain";
|
||||
ShaderCreateInfo createInfo = {
|
||||
.name = "UIVertex",
|
||||
.mainModule = "UIPass",
|
||||
.entryPoint = "vertexMain",
|
||||
};
|
||||
vertexShader = graphics->createVertexShader(createInfo);
|
||||
|
||||
createInfo.name = "UIFragment";
|
||||
|
||||
@@ -111,19 +111,10 @@ void ShaderCompiler::createShaders(ShaderPermutation permutation, Gfx::OPipeline
|
||||
if (std::strlen(permutation.materialName) > 0)
|
||||
{
|
||||
createInfo.additionalModules.add(permutation.materialName);
|
||||
createInfo.typeParameter.add(Pair<const char*, const char*>("IMaterial", permutation.materialName));
|
||||
createInfo.defines["MATERIAL_FILE_NAME"] = permutation.materialName;
|
||||
}
|
||||
createInfo.typeParameter.add({ Pair<const char*, const char*>("IVertexData", permutation.vertexDataName) });
|
||||
createInfo.additionalModules.add(permutation.vertexDataName);
|
||||
createInfo.additionalModules.add(permutation.vertexMeshFile);
|
||||
if (permutation.hasFragment)
|
||||
{
|
||||
createInfo.additionalModules.add(permutation.fragmentFile);
|
||||
}
|
||||
if (permutation.hasTaskShader)
|
||||
{
|
||||
createInfo.additionalModules.add(permutation.taskFile);
|
||||
}
|
||||
|
||||
if (permutation.useMeshShading)
|
||||
{
|
||||
|
||||
@@ -52,17 +52,13 @@ Slang::ComPtr<slang::IBlob> Seele::generateShader(const ShaderCreateInfo& create
|
||||
Slang::ComPtr<slang::IBlob> diagnostics;
|
||||
Array<slang::IComponentType*> modules;
|
||||
Slang::ComPtr<slang::IEntryPoint> entrypoint;
|
||||
slang::IModule* mainModule = nullptr;
|
||||
for (const auto& moduleName : createInfo.additionalModules)
|
||||
{
|
||||
modules.add(session->loadModule(moduleName.c_str(), diagnostics.writeRef()));
|
||||
if (moduleName == createInfo.mainModule)
|
||||
{
|
||||
mainModule = (slang::IModule*)modules.back();
|
||||
}
|
||||
CHECK_DIAGNOSTICS();
|
||||
}
|
||||
|
||||
slang::IModule* mainModule = session->loadModule(createInfo.mainModule.c_str(), diagnostics.writeRef());
|
||||
modules.add(mainModule);
|
||||
CHECK_DIAGNOSTICS();
|
||||
|
||||
mainModule->findEntryPointByName(createInfo.entryPoint.c_str(), entrypoint.writeRef());
|
||||
|
||||
Reference in New Issue
Block a user