Skip to content

Swiss army knife glsl utility. Uses TOP textures for transforms, vertex based noise displacement with normal recalculation.

Notifications You must be signed in to change notification settings

GregFinger/TD-GLSL-Instancing-Utility

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

screenshot

The aim of this project is to push as much instancing control parameters/data onto the GPU. This means that all transform controls (translate/scale/rotate [and also color control]) is done using TOPs and then sampled in the vertex shader. The project uses a circle over a transparent background as this instance-transform TOP. Any instance that falls within the circle will be affected. Circle is shared between all transform control TOPs, but you can also have different circle for each. Also doesn't need to be a circle, it can be anything. Explained a bit more in UI section.

Vertex displacement is done in the vertex shader using 4D noise, so each instance essentially has a different seed noise function, giving each one unique displacement. A color height map is also included to gradiently shade the instance.

You can essentially plug in any source geometry you want to instance along any instance geometry's layout.

screenshot

UI

Basic

Control over the camera zoom (camera is also controlled by the purple arcball box).

SSAO Switch

Transform

Control for the circle area of influence that affects all instances that fall within it. Move this circle with the 'Move Me' box.

RGB controls for each of the transforms. RGB = XYZ for each one. It will show up as RGB on the instance-transform TOP, but be calculated as xyz for the instances (except for the Color controller which will obviously affect the color of the instances).

Shape

Selection for the instance geometry layout shape and density.

Selection for the source geometry shape, poly count and size.

Displacement

Control for the type of normal recalculation performed. If you're not displacing vertices, you can select None. Otherwise: Faceted or Smooth.

Control for the Displacement amount ("scale").

Control for the Noise scale and speed.

Control for the Colored height map scale/range and variance between instances.

params

About

Swiss army knife glsl utility. Uses TOP textures for transforms, vertex based noise displacement with normal recalculation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published