Castor3D

Description

Castor3D is a multi-OS and multi-renderer 3D engine.
It works on GNU/Linux (GTK) and Windows.
Supported renderers are OpenGL and Direct3D (Windows only for this one)

Version 0.6.5.0

Date : 2011-08-30

Features

  • Tangent space computed for created primitives. You can access it over GLSL with 'attribute/in vec3 tangent'
    Normal mapping on an OBJ model Relief Mapping
  • Added UV map retrieval in cscn text format mesh description.
  • Works now under Linux (Gtk), tested with Debian (Squeeze and Wheezy), Fedora 13 and Mandriva 10

Bugs corrections

  • Crash when closing application - Corrected, caused by ShaderManager

Downloads



Version 0.6.1.2

Date : 2011-03-17

Features

  • Created a renderer selection dialog when lauching CastorViewer and CastorShape, added a splash screen for thos applications.
    Renderer selector Splash screen
  • Added a small application to convert any image file type to XPM to ease the multi OS development with wxWidgets.
  • Added new directives to scene file (alpha_rejection, rgb_blend, alpha_blend, hl_shader_program, ...).
  • Improved CMakeLists and 'cmake_modules' files in order to manage various client configurations in a better way.
  • Revised VertexBuffer and IndexBuffer system, introduced VertexDeclaration and BufferElement so user can create VertexBuffers using what hr want into it from this list : positions, normals, tangents, diffuse colour, texture coordinates (from 0 to 4), and ordered as user wants.
  • Vertex class now extends BufferElement.
  • TextureEnvironment will disappear in next version, multitexturing is now managed directly by Pass and TextureUnit.

Downloads



Version 0.6.1.1

Date : 2011-01-21

Features

  • Created a CMakeLists to generate solution from CMake.
  • Reordered file system to ease the use with CMake
  • Splitted Plugin class in 3 : RenderPlugin, DividerPlugin and ImporterPlugin. Importers and dividers will be created and modified without recompiling all projects.
  • Created a project for each existing importer (OBJ, PLY, MD2, MD3, 3DS, ...)
    PLY Model MD3 Model MD2 Model 3DS Model
  • Created a plugin for LoopDivider but PNTrianglesDivider remains in Castor3D because it is used in Icosahedron generation.
    Loop subdivided torrus
  • Started Cg shaders implementation. It implied a modification of scene files because in Cg and uniform variables are attached to a program (vertex, pixel, geometry) instead of being attached to the whole shader as it is in GLSL.
  • Buffers used for the render (Vertex, attribute, Texture, Normals, ...) are npw created by the RenderSystem so they can be created directly in Castor3D and not only in renderers (GL2, GL3 and future D3D).
  • Suppressed Singletons for the Managers (Image, Font, Material, Animation and Mesh).
  • Remerged the SceneNodes to ease their use.
  • Subdividers can also make their job in a thread and launch a callback at the end of it (cf. CastorShape).
  • Submesh::AddPoint now creates IdPoints and Submesh::AddFace uses it to create the vertices.

Bugs corrections

  • Corrected LoopDivider that didn't move newly created vertices, leaving them unchanged.

Downloads



Version 0.6.1.0

Date : 2010-12-10

Features

  • TransformationMatrix class is no more, it has been resumed to a functions collection working on 4x4 square matrix, regrouped in a namespace : MtxUtils.
  • Modified SceneNode management : a base class (NodeBase) holding all informations from old SceneNode and 3 derived classes (GeometryNode, CameraNode and LightNode) holding render specifics for respective linked objects (Geometry, Camera and Light).
  • MovableObject class now has less functionalities (now just a name and a NodeBase), Light and Camera classes now derive from this one for more uniformity in their moves, compared to geometries.
  • Renamed UniformVariable in FrameVariable to have a better view of what it is and to link this less to OpenGL.

Bugs corrections

  • Corrected a crash when closing the application compiled in release.

Downloads



Version 0.6.0.0

Date : 2010-11-05

Features

  • Added a class to manage matrices, in order to be able to suppress fixed pipeline support in OpenGL
  • Modified render system : added Renderable class which is in charge of creating the associated Renderer in order to ease the creation of this class's derived, such as submesh, scene node, light or camera.
  • Changed scene/material/meshes file extensions (respectively to cscn/cmtl/cmsh)

Bugs corrections

  • Protected shared datas with recursive mutexes (essentially in managers) to avoid random crashes.

Downloads



Version 0.5.0.2

Date : 2010-09-14

Features

  • New primitive : projection which performs a projection of an arc along depth axis and joins origin and projection with faces.
  • Better materials import from MD3 files (conatined in .skin and .shader files).
  • Better material import from 3DS files, especially colours : Ambient, Diffuse, Specular and Shininess

Bugs corrections

  • Corrected normals generation (they were inverted).

Downloads






Image Large