Explore the code over at .


One 3D API to rule them all

foo3d is a simple abstraction layer for realtime 3D Games/Applications written in Haxe.

It's supposed to be a crossplatform groundlayer for more higher level 3D engines. By supplying a common set of primitives across all platforms it enables you to write less platform-specific code and actually helps you get stuff done faster.

It works on all major platforms.

foo3d doesnt make any assumptions about your project-setup. All it needs is a 3D-context in order to work. You are free to allocate a context on your own and hand it over to foo3d's renderdevice via DI. Alternatively you can use the supplied utility-classes to receive a window/canvas/stage + context to render to.

Platforms

  • html5 - webgl
  • flash - stage3d
  • windows, linux & osx - opengl
  • android - gles2
  • ios - gles2

License

foo3d is licensed under the MIT-license.



Installation

You may install using:

haxelib git foo3d https://github.com/dazKind/foo3d

or

git clone https://github.com/dazKind/foo3d
haxelib dev foo3d foo3d

Requirements

TBD




Samples

01-Simple

This sample shows how to work with basic vertex-buffers and shaders in foo3d.

02-Textures

This sample shows how to deal with textures.

03-Skybox

This sample is all about cubetextures.

04-Md2

This sample shows a more advanced example of how to work with vertexbuffers, textures and shaders. The quake2 model format is used and split into several vertexbuffers. These are uploaded to the GPU and interpolated in the shader.

05-Glow

This example expands the previous samples and introduces Framebufferobjects for offscreen renderbuffers. These are used to render a fullscreen-glow.



michael bickel // foo3d // © 2014