processing / processing/p5.js

Add support for Texture Buffer Objects (TBOs)

Open
#7,344 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area:WebGL Feature Request
Dominant language
JavaScript
Stars
24k
Forks
3.8k
Avg merge
3d 16h
Merged PRs (30d)
25

Description

Increasing access

This would allow for more complex shaders which require more data while still making it possible to run them in realistic amounts of time. It would also help to introduce p5.js users to GPU based computing, which would be a great step forward for helping to develop the WebGL knowledge of beginners. For instance, high resolution voxel terrain which could use the increased amount of data transferring that TBOs allow for.

Most appropriate sub-area of p5.js?
  • Accessibility
  • Color
  • Core/Environment/Rendering
  • Data
  • DOM
  • Events
  • Image
  • IO
  • Math
  • Typography
  • Utilities
  • WebGL
  • Build process
  • Unit testing
  • Internationalization
  • Friendly errors
  • Other (specify if possible)
Feature request details

Create an official function that acts similarly to setUniform(), but offers more control over TBO specifics (e.g. texture type).

Similar to https://github.com/processing/p5.js/issues/7309

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the analogous p5.js issue 7309 and the existing WebGL API around setUniform(). Define the official TBO function's scope, including how texture types are controlled, and consider shader use cases such as high-resolution voxel terrain as the basis for deciding when the feature is complete.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
computer-graphics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.