diff --git a/src/model.rs b/src/model.rs index 7ab2956..a4ae6fa 100644 --- a/src/model.rs +++ b/src/model.rs @@ -11,8 +11,33 @@ pub struct IndexedVertex{ pub struct IndexedPolygon{ pub vertices:Vec, } +pub type TextureId=u32; +pub type ShaderId=u32; +pub enum ShaderResource{ + Model,//pass in model attributes + Texture(TextureId), + Depth,//current draw depth + Normal, + BehindTexture,//what is drawn behind this pixel +} +pub enum RenderType{ + NoTexture,//simply draw the vertex color or model color or something + Texture(TextureId), + Material{ + texture:TextureId, + normal:TextureId, + }, + //GUI, + Portal{ + transform:glam::Mat4, + }, + Shader{ + id:ShaderId, + resources:Vec, + }, +} pub struct IndexedGroup{ - pub texture:Option,//RenderPattern? material/texture/shader/flat color + pub texture:Option,//TODO: RenderType pub polys:Vec, } pub struct IndexedModel{