Skip to content

A Reflective Surface Visualizer made using OpenGL, GLM, and C++

Notifications You must be signed in to change notification settings

banushi-a/reflective-functions

Repository files navigation

Title:

3D Function Visualizer

Using The Program

./project -lod [integer for level of detail, default is 200] -l [integer, how many units from the center should we render, default is 10] "[y = f(x, z) in Reverse Polish Notation as strings, up to 9 unique functions]"

Some functions:

  • 3D Gaussian

    • ./project "e -1 x x * 2 / * z z * 2 / - pow"
  • Ripple

    • ./project "x x * z z * + 2 * sin 2 /" -lod 300
  • "Sphere"

    • ./project "16 x x * - z z * - sqrt" "16 x x * - z z * - sqrt -1 *" -lod 1000
    • Note: Handling complex numbers is a TODO item, so as of now complex results get mapped to zero, resulting in some extra triangles being rendered
  • Variety of Sample Functions

    • ./project "e -1 x x * 2 / * z z * 2 / - pow" "x sin z sin +" "x z -" "-2" "x z 2 * +"

YouTube/Dropbox/Drive Link:

https://youtu.be/o0IBH0cNsQU

Screenshots

4300ex14300ex24300ex3

About

A Reflective Surface Visualizer made using OpenGL, GLM, and C++

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published