3480 - Computer Graphics - Semester Project
Juan Trigueros
My idea is ...
A scene with ferns
This image shows my goal...
My computer graphics elements...
1. Procedural Construction
2. Recursive Rendering of OpenGL Primitives - for the self-similarity of the fern
2. Affine Transformations
4. OpenGL 2-D Texture Mapping - for the grass background
To demonstrate my study...
1. Lab 3 Pixel-first Rendering Framework
1. Lab 6 OpenGL Transformations framework
2. Experimental renderings showing progress
3. Final images of progress
Here is the link from Google where I got the texture map for my background:
Texture Map Image
Scroll down to see my progress...
First progress image, before midterm conversation.
Lab 9 was used for this image.
Second progress image, after midterm conversation.
Lab 6 was used for this image, as well as for loops
to create stem and branches.
Lab 6 is still being used, I'm using transformations
to get other pieces added. Have started to experiment
with iterated function systems, but it's buggy and
doesn't look good yet. Will update once that works.
Lab 3 was used along with the Barnsley fern wikipedia
page to create this fern. Affine transformations are
being used to procedurally construct the fern. This
is simply the code from the wikipedia page translated
into C++ code that works by drawing pixels based on probability.
Update: I have gone back to the lab 6 framework and
will use that to create the type of fern I want to
render. Will update page with more progress soon.
I am back to the lab 6 framework. I have changed
how I am creating the fern though. As suggested,
I'm now using rotations and recursion to render the fern.
This how it currently looks, I'm still working on it.
As suggested, I'm using one leaf and iterations along with
translations to render the other leaves for the fern.
This is how it currently looks, I'm still working on it.
Need to work on rotations and scaling to make it better.
Made progress with rotations to render the leaves for the fern.
This is how it currently looks, I'm still working on it.
Need to work on scaling and overall appearance to make it better.
These images show my final renderings where OpenGL Primitives were rendered using recursion and affine transformations, and where OpenGL 2-D
Texture Mapping was used for the grass background in order to procedurally construct a scene with ferns. The 3 ferns in these 3 screenshots
are being drawn and scaled within certain ranges at random.
This image shows another final rendering where I increased the number of ferns from 3 to 5 in order to demonstrate that the program can render
more if desired. However, as one can tell, the renderings overlap instead of being like real ferns where one is above another. I wanted to get
that figured out, but due to lack of time was unable to.
Quick update after presenting:
These images show my updated renderings after presenting where I added more leaves to the top of the ferns to make them closer to real ferns.
As it can be seen, the fern does look somewhat more realistic, but adding more leaves and scaling the fern resulted in distortions of the leaves.
As mentioned during presentation, I am unable to easily get the fern to be curved like a real fern due to how I originally started to render
the fern.
Lab-15 work done
Made progress with scaling the leaves of the fern. Tried to scale
them by multiplying by a scale value, but that broke stuff. Looked
online and found the glScalef function and scaled the leaves using
this function as the main loop progressed. I'm still working on the
fern, but this is how it looks so far. Need to see if I can make it
more curvy for its overall appearance to make it better.
My zoomed in mandelbrot fractal image from lab-12
Also my logo image for lab-13
The ray trace image from lab-8
The seamless gif from lab-8
The animation from my lab-6 is right here...