Skip to content
This repository has been archived by the owner on Nov 12, 2022. It is now read-only.

Param panel rework #27

Open
2 of 4 tasks
theZiggurat opened this issue Feb 13, 2022 · 0 comments
Open
2 of 4 tasks

Param panel rework #27

theZiggurat opened this issue Feb 13, 2022 · 0 comments
Assignees
Labels
enhancement New feature or request epic an issue/feature broad in scope or long in duration
Milestone

Comments

@theZiggurat
Copy link
Owner

The param panel gives the user an easy interface to change uniform variables within their shader. The current param panel shows these uniforms in a list in which the user can edit number inputs for float and int, and color input for vec3. The user can add and delete the uniform variables on the fly, as gpu buffers and shader declarations are generated as needed.

Reworks

  • Types: Add support for vec2, ivec2, vec3, and ivec3 types of any range (not locked to [0, 1] like color is).
  • ParamInterface: Implement ParamInterface system, where each uniform type has a variety of 'interfaces' to choose from. For example, the vec2 type may have a cartesian interface, and a polar interface. These
  • Combination: Interfaces should be combinable. i.e. two float interfaces should be combinable into a vec2 interface if the user would like to
  • UX: Give user option to view parameters as list or tiles. The list view will give the user a comprehensive overview of their uniforms, and the tile view will show select uniforms as interfaces, sort of like a nerdy drumkit.

Problem areas

Creating a useful interface for 3 dimensional and above uniform types will be difficult to do with a 2d draw surface. The interfaces currently implemented for 1 and 2 dimensional types use SVG for drawing, since I've found canvas 2d context to be inconsistent and have blurriness/scaling issues. Eventually, I will have to look into using WebGPU to render the more complicated interfaces. As its more developed, the drawing surface should be abstracted for this future expansion.

@theZiggurat theZiggurat added enhancement New feature or request epic an issue/feature broad in scope or long in duration labels Feb 13, 2022
@theZiggurat theZiggurat added this to the MVP milestone Feb 13, 2022
@theZiggurat theZiggurat self-assigned this Feb 13, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request epic an issue/feature broad in scope or long in duration
Projects
None yet
Development

No branches or pull requests

1 participant