36 lines
581 B
C++
36 lines
581 B
C++
/**
|
|
* @file ShaderComponents.h
|
|
* @brief 测试工程着色器编译接口定义。
|
|
*/
|
|
#pragma once
|
|
#include "CommonHeader.h"
|
|
#pragma comment(lib, "dxcompiler.lib")
|
|
|
|
struct shader_type {
|
|
enum type :u32 {
|
|
vertex = 0,
|
|
hull,
|
|
domain,
|
|
geometry,
|
|
pixel,
|
|
compute,
|
|
amplification,
|
|
mesh,
|
|
|
|
count
|
|
};
|
|
|
|
|
|
};
|
|
|
|
|
|
struct shader_file_info
|
|
{
|
|
const char* file_name;
|
|
const char* function;
|
|
shader_type::type type;
|
|
};
|
|
|
|
std::unique_ptr<u8[]> compile_shader(shader_file_info info, const char* file_path, XEngine::utl::vector<std::wstring>& extra_args);
|
|
bool compile_shaders();
|