Files
davinci2/source/utils/source/standard/dvu_standard_material.cpp
T
2025-11-15 16:27:19 +08:00

41 lines
1.5 KiB
C++

#include "standard/dvu_standard_material.h"
#include "device/dvc_device.h"
#include "asset/dvc_material.h"
DV_UTILS_BEGIN_NAMESPACE
davinci::MaterialPtr create_standard_material(davinci::Device* device, const char* name)
{
if (strcmp(name, "debug:base_color")==0)
{
davinci::MaterialPtr materialPtr = device->newMaterialAsset();
materialPtr->setVertexShader("dv_standard_shaders.dll", "standard-normal+uv");
materialPtr->setFragementShader("dv_standard_shaders.dll", "debug:base_color");
return materialPtr;
}
else if (strcmp(name, "debug:normal_texture")==0)
{
davinci::MaterialPtr materialPtr = device->newMaterialAsset();
materialPtr->setVertexShader("dv_standard_shaders.dll", "standard-normal+uv");
materialPtr->setFragementShader("dv_standard_shaders.dll", "debug:normal_texture");
return materialPtr;
}
else if (strcmp(name, "debug:texture_coordinates")==0)
{
davinci::MaterialPtr materialPtr = device->newMaterialAsset();
materialPtr->setVertexShader("dv_standard_shaders.dll", "standard-normal+uv");
materialPtr->setFragementShader("dv_standard_shaders.dll", "debug:texture_coordinates");
return materialPtr;
}
else if (strcmp(name, "debug:geometry_normal")==0)
{
davinci::MaterialPtr materialPtr = device->newMaterialAsset();
materialPtr->setVertexShader("dv_standard_shaders.dll", "standard+normal-uv");
materialPtr->setFragementShader("dv_standard_shaders.dll", "debug:geometry_normal");
return materialPtr;
}
return nullptr;
}
DV_UTILS_END_NAMESPACE