Skip to content

Material Abstraction #29

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)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions