Giter Site home page Giter Site logo

birdylook's Introduction

Birdylook

This is a project mainly to showcase more advanced techniques in the bevy ecosystem or as a template for others. If you see any bugs or want to rewrite something more efficiently or readable feel free to make a PR or open an issue to describe your thoughts.

Showcase

Animated Water

Waves

Currently, the water uses vertex displacement to animate waves. Stacking sin waves are used as periodic functions as you can see in the shader code. This is great for calmer-looking water but if you need more stormy water in your game I may recommend using the approach described in the GPU gems book(see Equation 8a, 8b).

Reflections

For the reflection planar reflections are used. This is implemented using a reflection camera rendering to a texture used in the shader. The technique is described in this video. The reflection is later distorted using the normals of the vertex(improvements for the distortions are very welcomed)

Current limitations

Objects underwater are captured by the reflecting camera resulting in sometimes questionable results. The solution would be to wait for clipping plane support or use the frustum of the camera to only capture objects above the water.

Lighting

The lanterns do emit light by having a simple point light as a child. Furthermore, plans are to move/distort the light by the wind.

Animated grass

The grass is created using the warbler_grass crate. It uses heavy instancing and a little editor to create your own grass easily. For grass is loaded from the images found in the assets folder and can be changed dynamically.

License

Code

This project is free, open source and permissively licensed! All code in this repository is dual-licensed under either:

MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT) Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0) at your option. This means you can select the license you prefer! This dual-licensing approach is the de-facto standard in the Rust ecosystem and there are very good reasons to include both.

Assets

I made all assets myself and are free to use! If someone decides to use them for anything I'd be honored if you notify me about your usecase. All assets found in the assets folder are under the CC0 1.0 Universal license. Meaning you're free to use the assets freely in any project, personal or commercial. There's no need to ask permission before using these. Giving attribution is not required, but is greatly appreciated!

birdylook's People

Contributors

emiongit avatar

Stargazers

Eric Skaliks avatar Giuseppe Gadola avatar Anthony Dodd avatar KhaNguyen avatar Moritz Knopf avatar  avatar Sergio Alejandro Ribera Costa avatar  avatar ctrlf avatar Patryk Kalinowski avatar Sébastien Job avatar Lucas Luz avatar hmmm avatar Skye avatar Media Explorer avatar Dominic Maas avatar Ziloka avatar Matthias Fauconneau avatar  avatar JLer avatar Friedemann Sommer avatar Aly avatar Scott Lambert avatar Abi avatar Remy Goldschmidt avatar Volker Großmann avatar Tau Gärtli avatar Jan Hohenheim avatar Manuel Fuchs avatar  avatar Michael Cheng avatar Joe Ardent avatar Furiex avatar  avatar  avatar Aceeri avatar

Watchers

Matthias Fauconneau avatar  avatar

birdylook's Issues

Licensing

Heyo! Might want to license this under MIT / Apache v2 early on (or others if you feel strongly about em). I'm pretty interested in using some of the water code/modifying a bit for my own project.

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.