Skip to content

Releases: JaviCervera/vortex-cx

Version 2.0.0

22 May 13:39
2ab813d
Compare
Choose a tag to compare
  • All constants changed to PascalCase.
  • Red, Green, Blue, Alpha functions in Color class renamed to R, G, B, A.
  • Camera.ClearColor property changed to Camera.BackgroundColor.
  • Meshtool now supports animated MD2 meshes.
  • Fixed Color.Multiply compilation error.
  • Added IsLoaded methods to resources.
  • Fixed render to texture on HTML5.
  • Added collisions with static boxes (World.AddStaticCollisionBox).
  • Added Texture.SetPixels method.
  • Fixes to meshtool. (Author: MikeHart)
  • Added test_models.cxs script. (Author: MikeHart)
  • Added test_project.cxs script. (Author: MikeHart)
  • Added test_picking.cxs script. (Author: MikeHart)
  • Added direct import of obj files with their corresponding material file (mtl). (Author: MikeHart)
  • Added direct import of static B3D files. Animations are missing atm. (Author: MikeHart)
  • Added Line and Camera picking and projecting. (Author: innerloop)
  • Added vertex color importing in meshtool.
  • Added Material.Fog and export flag to mesh file
  • Modded LookAt. (Author: innerloop)
  • Known issue: Normals seem to be not calculated correctly when directly loading B3D files.
  • Known issue: No animation is imported when directly loading B3D files.

Version 2.0.0-beta2

01 Oct 19:58
Compare
Choose a tag to compare
Version 2.0.0-beta2 Pre-release
Pre-release

This release brings lots of changes. API should be more or less stabilized now:

  • Added vertex animation support (which is now the default in meshtool since there is a bug with skinned meshes)
  • Added animation sequences
  • Shadow tex size can now be changed at runtime
  • Sun distance can be specified for shadow calculation
  • Added Shader class
  • Added previous depth pass to avoid computing redundant fragments
  • Added different draw modes to surfaces (points, lines, triangles, triangle strip, triangle fan)
  • Math3D library has been completely rewritten
  • Renamed Material.BaseTexture to Material.ColorTexture
  • Added Material.SpecularTexture
  • Added Material.CubeTexture and removed Reflection and Refraction textures (now a material can only have one cubemap)
  • Added Material.CubeOpacity
  • Added Lighting and ReceiveShadows properties to Material
  • Added Shader property to Material
  • Returned to previous FPS based animation system, instead of the duration based one
  • Does not parse GL version on init anymore to prevent crash on some old Android versions
  • Reduced the number of shader uniform and varying vars needed
  • Added different shaders:
    - Minimal: No normal or specular maps, no cube mapping, no shadows
    - Minimal with shadows: No normal or specular maps, no cube mapping
    - Vertex lighting: No normal or specular maps
    - Pixel lighting
  • Per pixel lighting is now the default
  • Removed World.GlobalPixelLighting (You can do Shader.DefaultType(Shader.TYPE_VERTEX_LIGHTING) to switch to vertex lighting)
  • Removed Cache class (added undocumented CacheSound function and Load method in classes with an optional cache param)
  • Added Mesh.CreateQuad
  • The script convert2monkey now also converts demos (I forgot that!)
  • Removed cubemap support for Material.ColorTexture (skyboxes are rendered with a custom shader)
  • Removed "Set" from all methods
  • Added Material.SpecularPower
  • Made default Material.Shininess 0.001
  • Added Color.Multiply
  • Public Renderer class renamed Graphics
  • Removed Stats class (DeltaTime is now on World, the rest on Graphics)
  • Mesh.UpdateBoundingBox has been renamed to Mesh.Rebuild, and now rebuilds all surfaces
  • Cameras now adjust the view and ratio automatically if ViewportWidth, ViewportHeight or AspectRatio is -1 (which is now the default)
  • Changed binary font format. Fonts generated with previous versions won't render correctly anymore
  • Several bug fixes
  • Thanks to SLotman from the Cerberus-X community for his help on Android!

Version 2.0-beta

31 Aug 12:47
Compare
Choose a tag to compare
Version 2.0-beta Pre-release
Pre-release

Completely new object-oriented API, tons of changes and new features.
Check the documentation, tests and demos.

UPDATE: The Win32 binaries now contain all required dlls.

Version 1.2

10 May 10:16
Compare
Choose a tag to compare

I have separated the project into two different brances: vortex1 (the default) will have non-API breaking changes, while vortex2 will use a different API and much improved features. This release contains the last commmits I added to Vortex1, which do not add any big new features, but a few fixes and small improvements:

  • Added fog support through the Viewer_SetFog function.
  • Improved font spacing.
  • Changed fonttool to export glyph data as properties in XML file (reduces file size of generated fonts).
  • Export_shaders (the tool that generates the shader code constants from the glsl files) has been ported from BlitzMax to Monkey.
  • Updated structure so a mesh has a linear array of bones instead of a tree (does not need recursion to iterate through all bones).
  • Bone's default matrix has been renamed to pose matrix, and defines a global transform (relative to model matrix, not to parent's pose matrix)
  • Bone's current matrix has been renamed to anim matrix, and contains a global transform to animate the bone for some specific frame.
  • The bone's anim matrix has been moved to the Drawable class, which contains an array of matrices, one for each bone in its mesh.
  • To animate a drawable, before calling Drawable_Draw, you must call Drawable_Animate now.

I am not attaching binary files this time, so you'll have to build yourself. The meshtool has not been updated, so the binary from version 1.1 will work, but fonttool has been updated, so you will need to build it (on Windows, you should install a recent version of the compiler TDM-GCC).

Version 1.1

25 Dec 18:26
Compare
Choose a tag to compare
  • Now Vortex supports changing handedness. To do that, you can write this at the beginning of your program:

    Import vortex.src.handedness
    #VORTEX_HANDEDNESS=Mode

    Where Mode can be one of:
    VORTEX_LH: Left handed coordinate system (the default now)
    VORTEX_RH_Y: Right handed coordinate system, with Y as up vector
    VORTEX_RH_Z: Right handed coordinate system, with Z as up vector (the default in previous versions of Vortex)

    Left handed system uses clockwise order for rotations and triangle winding, and maps textures from the top left to the bottom right.
    Right handed systems use counter clockwise order for rotations and triangle winding, and maps textures from the bottom left to the top right.

  • Possibility to switch the vertical axis of screen coordinates for 2D. Now the default is that Y increases downwards (opposite from previous versions). To select the screen coordinates mode, write this at the beginning of your program:

    Import vortex.src.config
    #VORTEX_SCREENCOORDS=Mode

    Where Mode can be one of:
    VORTEX_YDOWN: Y goes down (default)
    VORTEX_YUP: Y goes up (the default in previous versions of Vortex)

  • Added procedural API. Despite differences in implementation on the Object Oriented layer, the procedural API should offer the same functions as a future implementation of Vortex in C++

  • Added Vortex_GetAPIVersion and Vortex_GetShadingVersion

  • Support for JSON meshes and fonts replaced by XML versions

  • Meshtool replaced by Irrlicht-based version

  • Fonttool and meshtool are now build from a .bat file (requires TDM-GCC-32 on Windows)

  • Removed animation sequences from the engine. Now animations are a simple linear of keyframes, and you decide the first and last frame for the animation. This helps keeping Vortex a bit simpler, and it is not hard to add sequence support on a higher level engine

  • Several bug fixes

Version 1.0

05 Aug 14:04
Compare
Choose a tag to compare

First public release. Platform specific versions contain precompiled tools. Source versions require Qt Creator 3.3.0 or higher to build the tools.