41 lines
1.5 KiB
C++
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
|