Archive for the 'cocos3d' Category

Updated cocos3d – a 3D extension for cocos2d

cocos3d 'hello, world' example

A screenshot from the cocos3d Application template, showing a 3D take on the traditional 'hello, world' app.

Update [2012-04-23]:

I’m pleased to announce that cocos3d 0.7.1 has been released.

This release adds explicit support for Gesture Recognizers, and includes fixes and enhancements to the recent significant cocos3d 0.7.0 release.

Features added in this 0.7.1 release include:

  • Added explicit support for Gesture Recognizers, including mapping gestures to 3D transforms and coordinates.
  • Invisible nodes can now cast shadows, allowing invisible lower-polygon models to be used to create shadows of visible high-polygon models.
  • Added backward compatibility with legacy LLVM GCC 4.2 compiler.

Features added in the recent significant cocos3d 0.7.0 release include:

  • Automatic shadowing using shadow volumes.
  • Enhancements to texture management:
    • Alignment of textures with meshes, for both NPOT and iOS-inverted textures is now completely automatic.
    • Texture mipmaps generation is automatic.
  • Ray-casting:
    • Collect nodes intersected by a ray in order of distance from the start of the ray.
    • Locate the local intersection of a ray with a node.
  • Simple collision detection between nodes.
  • Any node can now be targetted towards a direction, location, or other node.
  • New CCActions include MoveForwardBy, MoveUpBy, RotateByAngleAroundAxis
  • Bounding volumes of nodes can now be made visible during development.
  • Parametric mesh creation is now simplified, and parametric sphere and disk meshes now available.
  • Individual mesh faces can be retrieved by index.
  • Support for decals.
  • Support for stencil buffers.
  • Support for automatic renormalizing of rotation matrices.
  • Support for general notification callbacks on node transformations.
  • CC3World renamed to CC3Scene, to clarify the purpose of that class.
  • CC3Scene callbacks available during opening and closing of a scene.

Find out what’s new here.

cocos3d is a significant extension to cocos2d that adds a full 3D modelling space, including 3D mesh models, perspective projection cameras, materials, and lighting. With cocos3d, you can populate your world with 3D models exported from 3D editors such as Blender, 3ds Max or Cheetah3D, combined with models you create dynamically in your Objective-C code.

Integration with cocos2d is seamless. Rendering of all 3D model objects occurs within a special cocos2d layer, which fits seamlessly into the cocos2d node hierarchy, allowing 2D nodes such as controls, labels, and health bars to be drawn under, over, or beside 3D model objects. With this design, 2D objects, 3D objects, and sound can interact with each other to create a rich, synchronized audio-visual experience.

Like cocos2d, cocos3d is written entirely in Objective-C, and many of your favourite cocos2d paradigms, such as CCActions, are available for 3D objects. And like cocos2d, it is distributed for free under an MIT license.

Continue reading ‘Updated cocos3d – a 3D extension for cocos2d’




Social Widgets powered by AB-WebLog.com.