3D class framework powered by
- Indirect3D is something like 3D ActiveX - it is a set of specifications that
allows to merge objects written on different programming languages in one dynamic
Indirect3D objects are abstract - they can draw something, do specific task or just store information. Objects are attached one on another and form something like tree.
- Indirect3D is an open source project, it's distributed under Lesser GPL.
- Main features of Indirect3D:
- reusability of 3D classes
- ability of storing and reading (streaming) scenes and their parts
- ability of runtime WYSIWYG editing
- making same scenes running on different graphic APIs(OpenGL, Direct3D)
- event/trigger model for interobject and application-object interaction that allow many things to be done w/o programming
- flexibility and extensiblity
- In future it will have a mechanizm for scene synchronizing that will allow
multi-user or dynamic scenes.
- Indirect3D has following usage:
Indirect3D is flexible enough to do almost any 3D visualization task, including creating first-person shooters(however it's not opimized for games).
- 3D Graphic User Interface in applications
- Plugins for 3D applications - for example, music player in a
corner of 3D shooter or more serious things
- 3D scenes in Internet, like this demo page
- (in future) 3D Internet virtual-reality worlds with many users
- Inserting 3D graphics in different programs using ActiveX
- Indirect3D is interface-based. It is similar to OLE/ActiveX in many
cases, but is easier, oriented on 3D, and suitable for displaying huge and
complicated object hierarchies with a lot of classes. Indirect3D components
can be stored in DLLs or linked statically to executable.
- Specifications are separated from actual implementation that allow co-working
of different versions(versions that are compatible with specifications are
compatible). Currently there is only one implementation called fastfruit.
It introduces many helper stuff for easy creating new components and some
additional specifications. Delphi and VisualC versions of fastfruit differ
in many points, however they are quite compatible, and scenes built for
VisualC version(even such complex as whole ff_lotr demo, exported in one .i3d
scene file) can be loaded in ind3ds scene editor, written on Delphi.
Delphi and MSVC components can coexist in one scene.
Currently Indirect3D is in 'early alpha' stage. It's not yet suitable
for usage, however certain results are already achieved.
Now we have implemented:
- Delphi-OpenGL class system with such basic components as button, texture, label, mesh, multi-texture, spheremapper, mover
- Delphi-OpenGL editor(that seems to work)
- OpenGL/Direct3D fastfruit implementation for MSVC
- Delphi-OpenGL ActiveX component that works both in Internet(MSIE) and
IDE's like Delphi, C++Builder, MSVC, VB, VisualJava
If you have some spare time which you want to spend on programming, you may join us. Email to firstname.lastname@example.org. We'll be glad to receive
any questions, comments, suggestions, opinions. Any comments about Ind3d
concepts will be valuable.
More detailed Indirect3D concepts
Indirect Group's main page