Comments (3)
Changed the name of the issue, because the goal atm isn't really multiple backends. The goal is efficient rendering with opengl.
My current plans with this are to implement a SceneGraph which will be linked with some kind of Spatial Partitioning likely a QuadTree. The QuadTree will be used to do Frustum Culling for SceneGraph objects. This will get us a smaller list of objects which can be more easily sorted by the object state (Shader, texture, etc). This will reduce state changes and allow us to batch together objects of the same type to reduce api overhead.
I'm not sure yet, but if we use instanced rendering for stuff we can do Frustum Culling within a Geometry Shader to improve performance under certain circumstances.
from openrhythm.
I have been working on getting the back-end rendering infrastructure setup for this, and also trying to get the renderer more ready for 3d in the near future. Basic triangle batching is working however currently the texture code is kind of bad, so i'm working on cleaning that up still. Once the texture code is fixed I will be trying out Texture Buffer Objects for supplying mesh transform matrices to the shaders because not all hardware supports the sizes that will be needed for uniforms/UBO's.
from openrhythm.
I've basically got this to the point where it is fairly usable, and we are infact rendering 3D now. Closing
from openrhythm.
Related Issues (20)
- Translation support HOT 6
- Configuration and Config Files. HOT 13
- Finish the VFS and integrate it with the codebase. HOT 4
- Complete the audio system. HOT 13
- How to save scores HOT 12
- Change MIDI for another format HOT 1
- Doc HOT 7
- Perhaps look into unit testing? HOT 6
- Audio compilation errors with Visual Studio. HOT 4
- Error while compiling master HOT 2
- Optional PNG++ ? HOT 8
- Possible memory leak in audiotests.cpp HOT 3
- gettext has issues on windows, find an alternative. HOT 7
- Configuration systems HOT 3
- Rust HOT 2
- Go through and make a documentation pass on everything.
- OSX Build HOT 7
- Link SoundTouch-C on Mac HOT 1
- Can't run without notes.mid and song.ogg HOT 1
- Status of project HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openrhythm.