ultraviolet
3d-game-shaders-for-beginners
Our great sponsors
ultraviolet | 3d-game-shaders-for-beginners | |
---|---|---|
3 | 12 | |
57 | 17,063 | |
- | - | |
7.5 | 0.0 | |
17 days ago | 10 months ago | |
Scala | C++ | |
MIT License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ultraviolet
-
Indigo 0.15.0-RC1 Released
The main bulk of the work is a total replacement of all GLSL based shaders in favour of programs written using Ultraviolet. Ultraviolet is a Scala 3 shader program writing library that is currently aimed at WebGL + GLSL. The purpose of this work is to begin to separate Indigo from Scala.js and WebGL, so that the project can look at supporting other rendering technologies (WebGPU is the next likely target), and one day, other platforms like the JVM and/or Native. Custom GLSL shaders will still be supported for the for the foreseeable future, but existing shaders will require very minor modification to be compatible.
- Ultraviolet: WebGL Shaders in Scala 3
-
Announcing Ultraviolet: WebGL shaders in Scala 3
Ultraviolet (0.1.0): Scala 3 to GLSL transpiler library https://github.com/PurpleKingdomGames/ultraviolet
3d-game-shaders-for-beginners
-
The Book of Shaders
This is a great series if you’re looking for a tutorial. https://lettier.github.io/3d-game-shaders-for-beginners/inde...
- Random Code Inspiration Volume 2
- 3D game shaders for beginners: step-by-step guide to SSAO, lighting, and more
- Beginner friendly tutorial
-
Ask HN: What is your new year's resolution?
Sort of.
1. I want to start with working through applying shaders to a 3d scene using the Panda3d library (https://github.com/panda3d/panda3d) . This repo covers that: https://github.com/lettier/3d-game-shaders-for-beginners.
2. Create a simple, custom, graphics-only (no collisions / physics) game engine using Entt (https://github.com/skypjack/entt) and Panda3d. The engine would rely mostly on simple inputs, like mouse clicks, and 3d graphics.
3. Configure clangd to warn on features outside C++11 then refactor both projects (1 & 2)
4. Run experiments on the game engine while working through the Vulkan book: https://raw.githubusercontent.com/Overv/VulkanTutorial/maste...
-
Where to find shader resources?
Book of Shaders 3D Game Shaders for Beginners Martin Donald Freya Holmer
-
Game Engine From Scratch
Some tutorials I have looked at (well nor originally, as I learned the basics when we were still at DX9 :D): - https://lettier.github.io/3d-game-shaders-for-beginners/index.html
- Are there any resources on Post processing effects like Bloom HDR rendering tone mapping etc..
-
OpenGL engine - testing omnidirectional shadow maps with Sponza
Thanks! What feature would you add next? I've been thinking of implementing some of the shaders here
- 3D Game Shaders for Beginners
What are some alternatives?
indigo - An FP game engine for Scala.
godot-psx-style-demo - Demo project featuring a collection of PS1 style shaders and materials for Godot engine.
dotty-patched - Eval library and patched Scala-3/Dotty compiler. Evaluating source code and trees at compile time hacking multi-staging programming
tinyrenderer - A brief computer graphics / rendering course
julia-set-with-shaders - Julia set render with GLSL shaders and P5.js library
SHADERed - Lightweight, cross-platform & full-featured shader IDE
Granite - My personal Vulkan renderer
LearnOpenGL - Code repository of all OpenGL chapters from the book and its accompanying website https://learnopengl.com
OpenSubdiv - An Open-Source subdivision surface library.
glTF-Sample-Models - glTF Sample Models
reshade - A generic post-processing injector for games and video software.
UnityURPUnlitScreenSpaceDecalShader - Unity unlit screen space decal shader for URP. Just create a new material using this shader, then assign it to a new unity cube GameObject = DONE, now you have unlit decal working in URP