Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create Renderer System #18

Open
GoogleCodeExporter opened this issue Apr 15, 2016 · 2 comments
Open

Create Renderer System #18

GoogleCodeExporter opened this issue Apr 15, 2016 · 2 comments

Comments

@GoogleCodeExporter
Copy link

Separate all rendering code into one package and write all glue code needed for 
it to work as a separate unit traversing the Scene Graph.

Try to make the Scene Graph produce series of Rendering Entities stored in 
queue. These entities will get scheduled by the renderer. Things like 
transparency, reflection and other effects could be then easily added as 
Scheduling Rules.

E.g.: When we render a scene with a mirror, we need stencil and scene-in-mirror 
rendering to be done after z-buffer will contain all 'normal' objects possibly 
standing between camera and the mirror. The mirror scene node generates a 
Rendering Entity, let's call it "Scene Window Entity". It gets scheduled after 
currently rendered Scene Window finishes rendering 'normal' objects. Volumetric 
and transparent geometry would follow, etc. Portal(tm) is another thing, which 
comes to my mind.

Original issue reported on code.google.com by yinotaurus on 25 Mar 2011 at 11:38

@GoogleCodeExporter
Copy link
Author

Here is list of all files calling GL functions:

$ grep gl.gl `find src/ -name '*.java'` | cut -f 1 -d ':' | uniq
src/sk/yin/yngine/geometry/Model.java
src/sk/yin/yngine/main/GLRenderer.java
src/sk/yin/yngine/particlesystem/SimpleRenderer.java
src/sk/yin/yngine/render/lights/MaterialDef.java
src/sk/yin/yngine/render/shaders/ShaderProgram.java
src/sk/yin/yngine/render/shaders/ShaderProgramBuilder.java
src/sk/yin/yngine/render/shaders/ShaderProgramVariables.java
src/sk/yin/yngine/render/textures/PlainVanilaTexture.java
src/sk/yin/yngine/scene/attributes/PhysicsAttribute.java
src/sk/yin/yngine/scene/attributes/TransformAttribute.java
src/sk/yin/yngine/scene/camera/LookAtCamera.java
src/sk/yin/yngine/scene/GenericLightNode.java
src/sk/yin/yngine/scene/io/CubeMapTextureFactory.java

Original comment by yinotaurus on 26 Mar 2011 at 12:36

  • Added labels: Maintainability, Priority-High
  • Removed labels: Priority-Medium

@GoogleCodeExporter
Copy link
Author

Original comment by yinotaurus on 26 Mar 2011 at 2:18

  • Changed state: Started

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

No branches or pull requests

1 participant