Git Product home page Git Product logo

3d-studies-with-openframeworks's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.