Files
lity3d/Engine/Rendering/shader.h
T
shuiyu1123 2d56cb3bc9 MiMoEngine ASM: x86-64 MASM汇编+C混合架构游戏引擎
核心热路径(数学/内存/字符串/性能分析)用MASM汇编(SSE/AVX2)
外围系统(窗口/渲染/ECS/音频/UI/脚本)用C语言
含自研编辑器、VisualScript积木编程、中文渲染(glyph_atlas)
2026-07-10 19:20:40 +08:00

17 lines
511 B
C

#pragma once
#include <d3d11.h>
#include <stdint.h>
typedef struct {
ID3D11VertexShader* vs;
ID3D11PixelShader* ps;
ID3D11InputLayout* layout;
ID3D11Buffer* cb;
} Shader;
Shader* shader_create(void);
void shader_destroy(Shader* s);
int shader_compile(Shader* s, ID3D11Device* dev, const char* vs_code, const char* ps_code, uint32_t vs_len, uint32_t ps_len);
void shader_bind(Shader* s, ID3D11DeviceContext* ctx);
void shader_set_matrix(Shader* s, ID3D11DeviceContext* ctx, const float* data);