Skip to content

ofxyz/3D-Studies-with-openFrameworks

 
 

Repository files navigation

3D-Studies-with-openFrameworks

Bunch of projects to generate 3d meshes. Main purposes are to understand 3D space in c++/openFrameworks and to have full control over vertex coordinates. This repo will be updated frequently. These projects are not for production usage. But, they help you to understand lots of complex OPENGL practices such as mesh drawing types, vertex indexing, color settings of vertices and triangulation methods in order to generate 3d mesh objects for your own projects, artworks, etc...

2- Generate plane geometry with ofMesh from scratch. There is debug mode to see the indices of vertices. image

3- Generate sphere geometry with ofMesh from scratch. Animate vertex points via noise function to get smooth surface morphing... image

4- Generate cylinder geometry with ofMesh from scratch with a different approach. Animate top cap only via sin function. todo:

  • better comments
  • fix ugly hack of indices...

image

5- Example usage of ofLight types

image

7- Create grid shaped graphics or any other image with ofFbo. Then, use this fbo as a patterned texture onto a ofPlane object.

todo: fix the line intersection points and ofPlane vertex points to match vertex coordinates precisely onto each other. image

8- Create quad look primitive vbo mesh wireframe vertex points. Blend it with a texture image. Animate quad mesh's vertex z-coordinates with 3D Perlin Noise. image image

10- Create quad look primitive mesh wireframe vertex points. Audio data via FFT analysis structures the terrain topology. Wandering sentinels position themselves with Perlin Noise. According to average peak values and frequency spectrum data peak levels several visual elements intracts with each other.

The project source code is available at the following link. Refer to comments and readme files

image

12- Catenoid Minimal Surface Algorithm: "A catenoid is a type of surface, arising by rotating a catenary curve about an axis. It is a minimal surface, meaning that it occupies the least area when bounded by a closed space. It was formally described in 1744 by the mathematician Leonhard Euler. The project source code is available at the following link. Refer to comments and readme files." -wikipedia

I implement the original algorithm by Euler. Then, customize the algorithm for catesian coordinates and my own adjustments. Several option can be configured via GUI. The following images are from my custom audiovisual application.

image image image

About

Set of projects to generate 3d mesh & vertices

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 94.8%
  • GLSL 4.7%
  • Makefile 0.5%