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

GFX based Renderer #49

Merged
merged 31 commits into from May 6, 2016

Conversation

Projects
None yet
4 participants
@ghost

ghost commented May 5, 2016

Basically from a high level command are abstracted away from the data in the rendering pipeline. Commands are matched to a Method that can work with it's data. Right now that is just based on the render target and the Command itself. I think this can expand in the future.

Users can add their own targets and their own methods to the Renderer, and in addition replace methods. This replacing could be neat for doing something like a shader toy.

Right now I have a basic flat shading pipeline, and a terribly unoptimized deferred lighting. But it should be easy to to keep adding new passes and build a library of useful ones.

Demo of it working: https://www.youtube.com/watch?v=m3Q_3behpPA

Problem areas:

  • No texture support yet
  • The mesh format is static
  • Single threaded
src/renderer/Cargo.toml
+
+[dev-dependencies]
+genmesh="0.4"
+rand="*"

This comment has been minimized.

@kvark

kvark May 5, 2016

Member

new line?

@kvark

kvark May 5, 2016

Member

new line?

src/renderer/examples/main.rs
+ frame.layers = pipeline_deferred();
+
+ let start = SystemTime::now();
+ let (mut w, mut h) = (800., 600.);

This comment has been minimized.

@kvark

kvark May 5, 2016

Member

need to get this from the Glutin window

@kvark

kvark May 5, 2016

Member

need to get this from the Glutin window

@ghost

This comment has been minimized.

Show comment
Hide comment
@ghost

ghost May 6, 2016

Cleaned up! Unless there are new problems I'm done for now.

ghost commented May 6, 2016

Cleaned up! Unless there are new problems I'm done for now.

@kvark

This comment has been minimized.

Show comment
Hide comment
@kvark

kvark May 6, 2016

Member

Thanks! :shipit: 🚀

Member

kvark commented May 6, 2016

Thanks! :shipit: 🚀

@kvark kvark merged commit b2f4d98 into amethyst:develop May 6, 2016

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details

@kvark kvark referenced this pull request May 6, 2016

Closed

Use GFX for rendering #16

@palodequeso

This comment has been minimized.

Show comment
Hide comment
@palodequeso

palodequeso May 12, 2016

Contributor

Are you planning on putting your example code into the examples?

Contributor

palodequeso commented May 12, 2016

Are you planning on putting your example code into the examples?

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