Giter Site home page Giter Site logo

Comments (7)

Rhuagh avatar Rhuagh commented on August 24, 2024 3

This should be doable after hal, using spir-v shader modules

from amethyst.

ebkalderon avatar ebkalderon commented on August 24, 2024

@codri Seems really neat! I'll have to play around with this framework a bit before I comment on it, though. Thanks for the find.

from amethyst.

ebkalderon avatar ebkalderon commented on August 24, 2024

@codri So far, I'm loving the ideas behind Gamma. Being able to compose shaders like this is rather nice, plus it could potentially be used as a layer of abstraction over GLSL, HLSL, etc. which is huge.

However, I do believe such a layer would probably be better utilized in the Amethyst toolchain rather than at run-time in the engine proper. Perhaps when amethyst build is called, it calls another hypothetical utility which translates shader code written in some flexible language like Scheme into one of the target platform's supported shading languages (e.g. SPIR-V/HLSL for Windows, SPIR-V/GLSL for Linux, and GLSL for other possibly older platforms).

Keep in mind, I'm just brainstorming ideas. It is too early to start building, but at least it provides some food for thought.

from amethyst.

Xaeroxe avatar Xaeroxe commented on August 24, 2024

cc @omni-viral Does this issue look useful to you?

from amethyst.

zakarumych avatar zakarumych commented on August 24, 2024

@Xaeroxe you can set it low priority improvement at leave open. We will need to improve our tools

from amethyst.

minecrawler avatar minecrawler commented on August 24, 2024

I think, something like that is extremely useful, because it allows us to separate different implementations for certain effects. For example, I might decide to use lighting, however I might want to use a lighting/shadow variant which Amethyst does not support (e.g. Voxel Cone Tracing Illumination), so I could implement it and just replace the standard lighting/shadow shader like that - ideally sending the whole new module upstream to store like a library ;)

However, I think that shader modules should be selectable during runtime, too, because I might want to use better visual effects on a stronger computer, but reduce that to basic ones on weaker machines. Maybe it is possible to do so by using different entry points?

from amethyst.

torkleyy avatar torkleyy commented on August 24, 2024

I think we can close this issue, it doesn't provide any valuable information and we'll get this for free soon.

from amethyst.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.