Fun Ideas

From K-3D

Jump to: navigation, search

Overview

K-3D and Aqsis work well to show the power of the Open Source community - following are some interesting ideas that could be implemented to showcase both:

Cloth Simulation

The core C++ code for such a mesh deformer plugin already exists here FreeCloth

POVRay Macros

The POVRay macros here would make a good starting point for such plug-ins. "Macros & sources for POV-Ray"

Pipes

A "port" of XScreenSaver "pipes" - for those unfamiliar, it is a screen-saver that fills the screen with plumbing. A perfect application of the RenderMan quadratics, and a great way to create visually-complex scenes. Would go great with some special-purpose shaders to add grime, leaks, drips, dents, etc.

Tree / Forest

Tree / forest plugins. See the "Make Tree from Cylinder and Cone" study. There's endless room for experimentation here with simple geometry, shaders, space-filling algorithms ... mmmmm-good!

ngPlant - Open Source plant modeling package

Fireworks

The definitive fireworks plugin ... take notes on the 4th, and go to town! This would be a fun particle system plugin to write, since it would have far-fewer degrees of freedom and would be much easier to write than the old ParticleBurst plugin.

Flocking

Flocking algorithm plugin - without worrying about trying to model a bird, develop a plugin that can mimic flocking behavior in a collection of objects (a bunch of quadratics created with a script, say). Link (needs Java).

Crogai: artificial intelligence in crowd behavior scenarios

ODE - Open Dynamics Engine plugins

The projects goal is to write K-3D plugins based on the ODE library. The ODE library is a very clean and impressive implementation maintained by knowledgeable developers. On the features side, ODE provides many joint types and is very fast; it integrates IK with physics in the form of a general-purpose constraint system. See http://ode.org/

3D Audio Extension

Develop a 3D Audio Scene Editor and rendering engine. The plan is to develop them as a module of K-3D plugins. OpenAL models a collection of audio sources moving in a 3D space that are heard by a single listener somewhere in that space. Giving objects an audio stream property and having the camera object as the listener should work well under OpenAL.

Csound has several related routines worth looking at Splat3d

Real-time 3D Acoustics Rendering - Efficient Sound Auralization with Reflections and Reverberation David Rosen

3D audio for games Audio Research

Verse plugin

Verse is a real-time network protocol to share textures and 3D objects. The idea is to allow several artists to work on the same scene, an author's change appearing instantly on other users' screens. A Gimp plugin already exists to edit textures on a Verse network node in real-time. Originally developped for Blender, Verse in K-3D would be a step further in the direction of the OBJMeshInput plugin.

Output Animation as a Video

Make a video out of single frames. Revel library can help. Rendering a sequence to GIMP via Verse may also be an option, see above.

Or have the code for generating animation frames also generate a script file for Avidemux and then optional run Avidemux after the last frame is complete.

Chromium Tricks

Integrate K-3D with Chromium, a library that distributes OpenGL rendering across clusters of workstations.

Integrating MakeHuman

MakeHuman is a tool for creating human-like 3d objects. http://www.dedalo-3d.com/
Integrating it to K-3D would be a great feature.

Non-Photorealistic Line Drawing rendering

Integrate the functionality of Freestyle

Render to Hologram

Integrate the functionality of 3dHoloCreator, part of Synthetic Holography Toolkit (SHoT) so that users can generate holograms of virtual objects for display in the real world.

Output 3D view-port (GL) to Ps, PDF or SVG

GL2PS: an OpenGL to PostScript printing library.

"GL2PS is a C library providing high quality vector output for any OpenGL application. The main difference between GL2PS and other similar libraries is the use of sorting algorithms capable of handling intersecting and stretched polygons, as well as non manifold objects. GL2PS provides advanced smooth shading and text rendering, culling of invisible primitives, mixed vector/bitmap output, and much more... "

Combine with Orthographic view and Near/Far Plane to produce 2D Cad profiles etc.

Embedded ROS (Robot operating System) within K-3D to allow robot simulation and planing

ROS

ROS is an open source development environment for robotics applications. Think of ROS as an operating system for your robot.

Then add a Python version of SHRDLU as a way of interacting with it.

Add a NodeBox like layer to the Python API to offer a more expressive tool for creative users.

NodeBox