All Projects → LesleyLai → GLGrassRenderer

LesleyLai / GLGrassRenderer

Licence: Apache-2.0 license
OpenGL Grass Renderer

Programming Languages

C++
36643 projects - #6 most used programming language
GLSL
2045 projects
CMake
9771 projects

Projects that are alternatives of or similar to GLGrassRenderer

ShaderBoiler
Aimed to eliminate preprocessor hell in shaders and kernels.
Stars: ✭ 30 (-52.38%)
Mutual labels:  glsl, compute-shader
sph opengl
SPH simulation in OpenGL compute shader.
Stars: ✭ 57 (-9.52%)
Mutual labels:  glsl, compute-shader
sph vulkan
SPH simulation in Vulkan compute shader.
Stars: ✭ 29 (-53.97%)
Mutual labels:  glsl, compute-shader
OpenTK-PathTracer
C# OpenGL Path Tracer, Real-Time GPU accelerated
Stars: ✭ 22 (-65.08%)
Mutual labels:  glsl, compute-shader
AndroidGLKit
AndroidGLKit provides OpenGL ES 2.0 boilerplate codes for Android.
Stars: ✭ 22 (-65.08%)
Mutual labels:  glsl
shaping-functions
Visualisation of shaping functions
Stars: ✭ 75 (+19.05%)
Mutual labels:  glsl
pixi-sdf-text
Signed distance field text implementation for PixiJS
Stars: ✭ 89 (+41.27%)
Mutual labels:  glsl
sdf-2d
A graphics library to enable the real-time rendering of 2D signed distance fields on the web.
Stars: ✭ 70 (+11.11%)
Mutual labels:  glsl
ShaderWriter
Library used to write shaders from C++, and export them in either GLSL, HLSL or SPIR-V.
Stars: ✭ 171 (+171.43%)
Mutual labels:  glsl
TD-Flow-ABS
Real-time Flow-based Image and Video Abstraction in TouchDesigner.
Stars: ✭ 72 (+14.29%)
Mutual labels:  glsl
AlizaMS
DICOM Viewer
Stars: ✭ 144 (+128.57%)
Mutual labels:  glsl
glsl-cos-palette
glsl function for making cosine palettes
Stars: ✭ 26 (-58.73%)
Mutual labels:  glsl
3D interactive graphics rendering engine
Develop a 3D interactive graphics rendering engine
Stars: ✭ 31 (-50.79%)
Mutual labels:  glsl
vector-math
Shader-math in haxe: library for GLSL vector operations, complete with swizzles and all
Stars: ✭ 30 (-52.38%)
Mutual labels:  glsl
radar
OpenGL 4 PBR engine
Stars: ✭ 25 (-60.32%)
Mutual labels:  glsl
FlowAgents
Perlin noise based flow agents made in Unity 3D.
Stars: ✭ 21 (-66.67%)
Mutual labels:  compute-shader
surface nets
Pet project to learn compute shaders.
Stars: ✭ 35 (-44.44%)
Mutual labels:  compute-shader
linter-glsl
Atom package that lints GLSL shaders on the fly.
Stars: ✭ 15 (-76.19%)
Mutual labels:  glsl
GLSL-howto
random code that I use/write
Stars: ✭ 18 (-71.43%)
Mutual labels:  glsl
DuEngine
An efficient interactive C++ renderer for ShaderToy-alike demos with 2D/3D/CubeMap/Video/Camera/LightField/Volume textures. (Partially used in my I3D 2018 papers)
Stars: ✭ 62 (-1.59%)
Mutual labels:  glsl

OpenGL Grass Renderer

This project is a C++/OpenGL implementation of Responsive Real-Time Grass Rendering for General 3D Scenes. The project uses Bezier curves to represent individual grass blades. It uses compute shader to perform force simulation in Euler's method and perform various culling methods. Afterward the buffer of curves is passed to a tessellation shader to dynamically generate triangle geometry for grass blades.

demo image

Tested on:

  • Windows 10, i7-8650U @ 1.90GHz, GTX 1050 (laptop)
  • Same laptop with Intel UHD Graphics 620 Integrated GPU does not work currently, need to figure out why
  • Manjaro Linux 18.0.4, i7-7700 @ 3.60GHz, RTX 2070 (desktop)

Build instruction

This project uses CMake build system and Conan package manager. To successfully build the project, you need both tools installed. You can install conan through python pip:

$ pip install conan # Or pip3 on some linux distributions, use sudo if nessesory

After installing all the tools, build the project with the following CMake instructions.

$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ make

Features

  • Wind, gravity, and restoration forces simulation in compute shader with Euler's method
  • frustum and distance cullings in compute shader with indirect drawing
  • Tessellation LOD base on distance
  • a pair of tessellation control shader and tessellation evaluation shader to generate triangle geometry
  • An immediate GUI interface for user control

Q & A

  • Q: I don't see any grass. A: Make sure not to use the Intel integrated GPU to run the program
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].