All Projects → danilw → Godot Utils And Other

danilw / Godot Utils And Other

Licence: mit
random code that I made/use for godot

Labels

Projects that are alternatives of or similar to Godot Utils And Other

Godot Realistic Water
Godot - Realistic Water Shader
Stars: ✭ 235 (+23.04%)
Mutual labels:  godot, glsl
3d Game Shaders For Beginners
🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.
Stars: ✭ 11,698 (+6024.61%)
Mutual labels:  godot, glsl
Simplegodotcrtshader
A simple Godot shader that simulates CRT Displays
Stars: ✭ 236 (+23.56%)
Mutual labels:  godot, glsl
Bookofshaders Godot
BookOfShaders in Godot Shader Language
Stars: ✭ 134 (-29.84%)
Mutual labels:  godot, glsl
Fake-Interior-Shader-for-GodotEngine
Interior Mapping shader for the Godot Game Engine 3.x that works with both GLES3 and GLES2.
Stars: ✭ 40 (-79.06%)
Mutual labels:  glsl, godot
Godot Cel Shader
A Cel Shader for the Godot Engine
Stars: ✭ 145 (-24.08%)
Mutual labels:  godot, glsl
Godot Ci
Docker image to export Godot Engine games. Templates for Gitlab CI and GitHub Actions to deploy to GitLab Pages/GitHub Pages/Itch.io.
Stars: ✭ 168 (-12.04%)
Mutual labels:  godot
Metaballs
Unity 3D implementation of metaballs and marching cubes algorithm
Stars: ✭ 178 (-6.81%)
Mutual labels:  glsl
Processing Shader Examples
A collection of GLSL shaders and how to use them in Processing sketches
Stars: ✭ 167 (-12.57%)
Mutual labels:  glsl
Shadertoy lab
✏️ Test some shadertoy examples in Unity.
Stars: ✭ 164 (-14.14%)
Mutual labels:  glsl
Anime4k
A High-Quality Real Time Upscaler for Anime Video
Stars: ✭ 14,083 (+7273.3%)
Mutual labels:  glsl
Godot 3 2d Crt Shader
A 2D shader for Godot 3 simulating a CRT
Stars: ✭ 183 (-4.19%)
Mutual labels:  glsl
Filters4processing
Useful GLSL filters adapted for Processing
Stars: ✭ 177 (-7.33%)
Mutual labels:  glsl
Shader Printf
Simple printf functionality for GLSL.
Stars: ✭ 170 (-10.99%)
Mutual labels:  glsl
Glsl Noise
webgl-noise shaders ported to work with glslify
Stars: ✭ 179 (-6.28%)
Mutual labels:  glsl
Glsltuto
GLSL shaders tutorial
Stars: ✭ 168 (-12.04%)
Mutual labels:  glsl
Vim Glsl
Vim runtime files for OpenGL Shading Language
Stars: ✭ 184 (-3.66%)
Mutual labels:  glsl
Fragment
Live Code Graphics via GLSL Fragment Shaders
Stars: ✭ 166 (-13.09%)
Mutual labels:  glsl
Godot Jigglebones
An addon that brings jigglebones to Godot Engine 3.0.
Stars: ✭ 175 (-8.38%)
Mutual labels:  godot
Godot Beginner 2d Platformer
Learn to create a 2d platform game with the Godot game engine. This is a beginner programming tutorial.
Stars: ✭ 183 (-4.19%)
Mutual labels:  godot

update 2019 (actual in 2020)

gitlab mirror https://gitlab.com/danilw, untill I can update github repo I will (depends of github rules(region block) updates based on U.S. laws)

godot-utils-and-other

what is it my test projects using Godot. I do not recomend use this code for learning.

Contact: Join discord server


Licensing and this code - in this repository used some sketchfab models that under CC-license, also music, and other resource that do not have Mit license. All used resources linked for every project, please check its license before use. My code under MIT license.


new 2020:


cube_ex_tools:

Tools that I made for Cubes experiment demo.

Frame_capture - capture animation to use in GLES2 particle-like. Main point is - to pre-record some physics-animation that uses lots of CPU time when it in real-time, like sparks that bounce of floor - just record that bouncing animation and play in the released project with 0% CPU usage. (include two scenes - scene and scene2, each using own animation and script)

frame_view_example - example project that include shaders. This is example of using captured frame. Live example WebGL build of this example. Mesh part_16x16.mesh used for particles has UV2 that can be used as particle UV ALBEDO=texture(<particle_texture>,UV2).rgb; in capture.shader.

Panorama render - will be added latter.

Trails on mace hit animation - I used this gm_trail addon for that.

Shaders:

Reprojection UV - Homography and Image-Wrap reprojection logic shaderetoy link.

Graphic shaders from Cubes experiment shadertoy link.


particle_system_effects_Godot3:

Some 3d particle effects for Godot, using custom particle and fragment shaders. And decals. Glow not used. Used Godot 3.2.2-stable without modifications.

One of shaders in this project has bug in old Nvidia drivers 341.49 look this link to issues.

License - all shader code under MIT license. Warning - all 3d models under CC non-comercial, link to list of all used resources, also used sound file from https://patrickdearteaga.com

Play - live WebGL2 or download bin builds form itch.io link.

Debug menu - move mouse to left top corner.

Description:

This project has small misstake in sound texture implementation - sound texture binded to shaders after srgb convertion(this is my mistake), example in node debug/audio/audio its shader shaders/debug/debug_audio.shader has this code:

uniform sampler2D iChannel0 : hint_black;

hint_black means that Godot will apply srgb convertion to this texture before use in shader, this is bug I did not fix it in this build, if you need audio texture remove :hint_ flag from shader, I mean audio texture implementation is correct in the audio.gd script but because mistake in shaders it has not correct result.

1. Lines draw with antialiasing, two types of antialiasing - using mipmap from texture or using dFd procedural without textures. The point - use antialiasing without texture needed. Shader code in particle_lineAA_base.shader include all 3 types of drawing for test, uncomment needed.

Comparison on this gif: (left no antialiasing, middle dFd, right texture)

dfdx

2. This particles rendered on quad/flat mesh, they not real 3d. The point - render 1000 real sphere particles use much more GPU resources then render 1000 fake-spheres(flat intersected), 10x+ better performance with flat-particles with less triangles. Shader source particle_cloud_base.shader, particle_cube_base.shader and particle_lineGlow_base.shader use same code only verticles number and position changed.

quadx

3. Decals screen space, using Screen-Space-Decals.

I use material-ID logic to make decals work only on a single object(by ID) and depth to cut objects without ID. Debug menu click Material ID. Maretial-ID logic in decal.shader.

mid

Overhead is second Viewport with full-static scene needed. This Viewport can work even in 0.25 resolution of main screen, change in this application options to 0.25 in UI(move mouse to left top after launch, for Debug menu).

Depth object cutting, when object does not exist on material-ID Viewport, has obvious problems when objects too close to others they have very small depth value shifts. Look screenshot 1 and screenshot 2 with an example, on screenshot white plane has a small angle to the floor.


graphic_demo_3d:

Using simple custom shaders in Godot 3.2.1, like Area lights, all used external-code/logic linked in each shader, if used. Used Godot 3.2.1 stable, without modifications.

Used two models with animations from sketchfab, links in USED_ASSETS_LINKS.md

try it live(WebGL2) or download on itch click demo link

Video youtube link

Godot has bug with EXR/half_float, in WebGL2 build.

To avoid it - edit scene Area lights2, mesh floor its material, remove ltc_mat, and ltc_max linked textures. Then edit floor.gd script on same mesh, uncomment line 20 load_from_data_v2()

License - External used resource linked in each shader if used. Some of shaders and two character models has CC non commercial license.

gda1 gda2


Volumetric_Lights:

GLES2 Volumetric lights for Godot 3, very minimal example. Shader logic do sample depth from light source, in main-camera view. Shader not very hight cost. Shader can use 16 or 32 sample steps. Used unmodified Godot 3.2-stable.

Video youtube link

links Live web build (WebGL2/GLES3), Win64 GLES2, Win64 GLES3

WebGL GLES2 this project does not work in GLES2-Web build, because WebGL do not allow write to depth. I build it in GLES3(WebGL2) Godot web-build.

AMD GLES2 bug if you see this(image link) then you need use GLES3 only, bugreport to Godot, bugreport to AMD.

to remove Disk behind objects read line 57 in shaders/vulume_lights.shader and set depth_mult value to 10 if you need. This Volumetric light good if you put it inside of something, like box or sphere, light from flat objects does have limitations.


portals_panorama:

GLES2 scene with six very simple procedural panorama for godot. Shader source code in panorama/shaders folder.

Video youtube link

links Live web build, Win64, Linux64

Support: Godot 3.1, Godot 3.2, GLES2 or GLES3. Used official Godot build, nothing else.

How yo use in your project: create MeshInstance, mesh Sphere, in mesh check flip faces, create shader material, in shader code copy-paste any of *.shader code form this project. (for advanced use look this project source)

Portals they are bad, they exist only for this demo-scene. Portals rendered with huge-overhead because Light Cull Mask not implemented in Godot 3.x versions.

Used external resources: I have use external resources, list of used 3d models, and original shader-source linked in each *.shader file.

Licence - Used some external shaders, that may be under CC-NonCommercial license. Check linked resource in each shader.


old 2019:


flat-maze:

Demo base on particle collision, that show more complex collisions. link to repo https://github.com/danilw/flat-maze playable web version https://danilw.itch.io/flat-maze-web

Video youtube link


particle_self_collision:

Very simple GPU collision for thousands Indexed-particles, each particle with own index and other unique data, on GLES3/WebGL2, using Godot. live(web) demo link , or download for Win64(exe)

this is GLSL-only logic, example on shadertoy https://www.shadertoy.com/view/tstSz7

Video youtube link

Building: you need rebuild Godot with enabled GL_RGBA32F suport, read this page there building howto


Menu_2DGI:

Rendering static textures and use them as menu textures, include render and examples. To edit max number of shapes (is 5) edit const max_elems in scene.gd, and int max_elems in 2dGI.shader. (used default Godot 3.1.1)

How to use watch video.

Web version, live Examples: Smooth color example. Minimal examples 1 2.

Download bin:Render for Windows or Linux. Examples example 1, 2, 3


e-ani:

Link to repo with source code https://github.com/danilw/e-ani playable version download from https://danilw.itch.io/e-ani


a_rel_bw_game:

Warning: code very bad! || Using lots of particles in Godot, in small demo-game.

To build this project you need build Godot with module futari-addon (google it(gitlab) ot use this link ) Binary versions: win64 linux64 live/web(work only in Firefox reason) (native builds have Mipmap On, web build off)


Dynamic sky and reflection:

Two shaders for sky and reflection video, live link and windows version

mipmap forced bug(Godot 3.2) to fix it and have sky as panorama, add iChannel.flags=Texture.FLAG_FILTER in scripts/set_uniforms.gd (line 8) after var iChannel=sky_b.get_viewport().get_texture()

Environment bug(on first load): Godot has bug with removing Default Environment after re-import Assets(project is work if launch, it does not work only in Godot editor), set Project->Projet Setting->Rendering->Environment->Default Environment select file default_env.tres

GLES2 version of this Sky only web build GLES2 link for test download source project Dyn_Sky_only_GLES2.zip


new small:

gpu_indexed_particles_as_sprites example project of using GPU particles and its CUSTOM-value transform feedback, also example of using buffers(viewports/fbo) instead of CUSTOM and sending 32bit float data from GDScript as texture data to shader source code in zip and screenshot link

2d_ex_physics simply(100 lines of code) circle collision with gravity on GDScript, from my old project, check video and live_web

2d explossion effects video src1 src2 live1 live2


old:

Godot_shadertoy very simple "Shadertoy logic to Godot" video, source repo

Cubemap to panorama convertor live link

Godot-particles-collision unfinished particle collision shader for Godot source repo


Graphic

cube_ex_tools tools that I used to make this project on video cubes_experiment

particle_system_effects_Godot3 video particle_system_effects_Godot3

graphic_demo_3d video(click) graphic_demo_3d

Volumetric_Lights video pp

portals_panorama video pp

Particle-collision-demo (flat-maze game) video: flat_maze

Menu_2DGI video(click)

Menu_2DGI

e-ani video

e-ani

a_rel_bw_game video

a_rel_bw_game

Dynamic sky and reflection video

dyn

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].