Skip to content

Material Abstraction #29

@wpumacay

Description

@wpumacay

Description

This keeps track of the implementation of the material_t type. We currently don't know whether to have a separate type for each material type or just have a single object that handles types by an enum.

One of the key differences with our previous implementation is that a given material type (e.g. LAMBERT) should be linked to a specific shader (or shader chunk). This is similar to how ThreeJS handles materials, and it looks that their master-shader approach is the best option going onward with our material system implementation.

Tasks

  • Core implementation (base material?)
  • Material types
    • Basic Material
    • Lambert Material
    • Phong Material
    • Shader Material
  • Examples of usage (C++)
  • Implement Python bindings
  • Examples of usage (Python)
  • Documentation (API auto-generated by Sphinx)
  • Documentation (.rst custom made related to usage)

Metadata

Metadata

Assignees

No one assigned

    Labels

    component: bindingsRelated to Python Bindings generationcomponent: engine objectsRelated to objects from the engine itself (e.g. Cameras, Lights, Meshes, etc.)component: shadersRelated to creating/updating/refactoring glsl shaders from the enginetype: docstype: feature

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions