Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
node_modules
npm-debug.log
Binary file added Dubstep_Sub-Mix_2016.mp3
Binary file not shown.
17 changes: 17 additions & 0 deletions Milestone 1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Milestone 1:

Joe fully completed the ray-marcher (basically all the work of Hw 6) and it seems to be well optimized. (A sphere or any other basic geometry runs faster than 30 FPS.) He implemented some additional features like Lambertian shading.

Tabatha got a working Mandelbulb to appear in Joe's ray-marcher. It took a lot of time to understand iq's code, cross-reference it with examples on shadertoy, and tweek and experiment with numbers to find an implementation that made a Mandelbulb show up. With the remainder of her time, Tabatha set up a basic, but aesthetically pleasing scene with several Mandelbulbs rotating about different axes.

You should be able to view our current demo at https://tabathah.github.io/FinalProject. Note it is extremely slow and WebGL might need to reload, but it works!

If this doesn't load or the deploy didn't work (because I'm not convinced it did), there are some images of the scene in the folder milestone1Pics.

Things that we did not foresee that we definitely want to improve for the next milestone along with the plans in our design doc include:
- possibly optimizing the ray-marcher even further, as when a single Mandelbulb is in the scene, the FPS reaches a max of 3
- using tiling functions for the multiple Mandelbulbs in the scene, so that one call to the Mandelbulb function will suffice for all Mandelbulbs in the scene
- coloring the Mandelbulbs in some other way than Lamertian shading, as this seems to fial to convey all the detail in the geometry (we will be creating post-processing shaders as well)



15 changes: 15 additions & 0 deletions Milestone 2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Milestone 2
Tabatha Hickman and Joe Klinger

Joe and Tabatha both spent some time playing around with materials this week. Joe implemented ambient occlusion and worked on making the actual geometry of the mandelbulb more visible (there were some issues with lambertian shading).

Tabatha implemented some cool material shading based on IQ's orbit trapping as well as basic bounding boxes for the mandelbulbs to optimize the raymarcher. She also created a preliminary animation for the mandelbulbs.

Remaining goals:
- improve the overall scene, ie how to orient and place the mandelbulbs (open to suggestions)
- improve the animation of color on the mandlebulbs
- potentially add another type of fractal to the scene
- experiment with other material types, even though what we have now looks better than what we have tried so far
- music?
- actually compress this thing to 4k????????
- raymarcher needs to speed up somehow???????????????
37 changes: 36 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,36 @@
# FinalProject
# FinalProject

CIS 700 - Procedural Graphics - Design Document - 4k Fractal Demoscene
Tabatha Hickman and Joseph Klinger

# Motivation
This project is motivated primarily by scenes containing fractal geometry created by other demo groups as well as by the various articles on IQ�s website and a general interest in using math to model complex and visually compelling geometry.

# Goals
The primary goals (generally in decreasing order of priority):
Create a scene with interesting fractal geometry
Implement dynamic camera movement to view our scene
Implement some interesting materials for the fractals in glsl
Make the project fit into a 4k executable

# Inspiration/Reference:
https://www.youtube.com/watch?v=LbWS79Cxykg
https://www.youtube.com/watch?v=TTpbP5BVtiA
https://www.youtube.com/watch?v=wiaSPOm_G9k

# Techniques:
3D Mandelbulb: http://mandelubber.blogspot.com/p/tutorials.html
http://www.iquilezles.org/www/articles/mandelbulb/mandelbulb.htm (as well as other fractal-related articles by IQ)
http://www.iquilezles.org/www/articles/ssao/ssao.htm ? screen space ao by IQ
http://www.iquilezles.org/www/articles/terrainmarching/terrainmarching.htm ? raymarching by IQ, will probably help with optimizations once Joe has finished the core engine (see timeline)
Various world/post processing effects discussed in class. This will be more solidified once Tabatha has finished designing the scene (see timeline)
Use some sort of program to compress the code into 4k (Crinkler?). This will be done after the project is mostly done. Will probably have to ask Rachel about this.



# Timeline:
By 4/17: Joe has raymarching engine done and preferably optimized. Tabatha plans out the actual scene and how to move the scene/camera for animation/viewing. Both learn about how to actually generate fractals/3d mandelbrot set/ julia sets in addition to the above. We would like to be viewing some sort of 3d mandelbulbs w/ Joe�s raymarcher by this date.

By 4/24: (Flexible week) Joe has implemented various shader effects to the scene (materials/shading, ao, some kind of background?). Tabatha might have helped with shaders and/or cleaned up details on the actual scene. We need to have started investigating methods for compressing the code into 4k by today (ask Rachel?)

By 5/1: Essentially finished. Depending on the state of the project, we will have spent the week adding effects, writing shaders, interactivity or otherwise. We may end up needing to spend time condensing code if our project doesn�t compress to 4k. Music will need to be added as well, which will like be some royalty-free music we find somewhere, we will not be composing our own.
Loading