Today I began write java version of my Final3D engine based on LWJGL. Engine will be similar to FreePascalCopmpiler version published in section Free Pascal. Just now i don't know how deep will be implemented FPC version to LWJGL, but start look's very good. Because I have many worked with miniB3D and Leadwerks engine, i want create jFinal3D as Entity Scene Oriented. I't best way to create freedom for developers, which are haven't skills with low-level 3D API.
Features:
- High performance realtime 3D rendering using OpenGL
- Platform independent. Runs on Windows, Linux, OSX, Solaris, and others.
- Powerful, customizeable, and easy to use 2D GUI System with Buttons, Lists, Edit boxes, ... [FenGUI]
- The engine is open source and totally free.
F3D static class container:- F3D_Display
- F3D_Viewport
- F3D_Log
- F3D_AppWrapper
- F3D_Axis3f
- F3D_Entity
- F3D_Camera
- F3D_CameraManager
- F3D_Texture [integrated with Slick library ]
- F3D_TetxureManager
- F3D_Helpers ( DrawRectangle, DrawLine3D, DrawAxis ) - unfinished yet
- F3D_VBO
- F3D_Cube (rendered with VBO)
- F3D_PARSER (parse file with syntax similar to quake3 entity file)
- F3D_AbstractFiles
- F3D_Font (bitmap font loader)
- F3D_Font_TTF
- F3D_FontManager
- F3D_Frustum
- F3D_Material
- F3D_MaterialEvent
- F3D_MaterialEventManager
- F3D_MaterialTexturerUnit
- F3D_SurfaceManager
- F3D_Timer
- F3D_Mesh
- F3D_Light
- F3D_LightManager
- F3D_Preloader (Preloading events/textures/materials when preloading is enabled in F3D.Config)
- FengGUI inncluded
- F3D_HUD_Gadget
- F3D_HUD_GadgetProperties
- F3D_HUD_GadgetTransform
- F3D_HUD_Image
- F3D_Pivot
- F3D_Billboard
- F3D_BillboardManager
- F3D_MeshManager
- F3D_Model
- F3D_ModelManager
- F3D_Physics
- F3D_Body
- F3D_PhysicsObject
- F3D_GLDebugDrawer
- F3D_Pick
- F3D_Skybox
- F3D_FrameBufferObject
- F3D_GLSL_Shader
- F3D_Shader
- F3D_ShaderManager
- F3D_UniformData
Included demos: - Demo_Application
- Demo_CreateCamera
- Demo_AbstractFileSystem
- Demo_FirstTexturedPolygon
- Demo_RenderVBOCube
- Demo_FontLoad
- Demo_LoadMesh
- Demo_CameraControl
- Demo_FengGUI
- Demo_Performance
- Demo_HUD_Image
- Demo_ParentMesh
- Demo_Billboards
- Demo_ShapePhysics
- Demo_TerrainShapePhysics
- Demo_SimpleVehicle
- Demo_PickBody
- Demo_MultipleWorld
- Demo_RenderMultiSurfModel
- Demo_FrameBufferObject
Tools: - FontStudio
- Converter OBJ to F3DA asci format
- Converter OBJ to Java class
Changes:
- jF3D ver. 0.1.1
- new class TF3D_Pivot was added
- to TF3D_Entity was added field parent and child_list field with AddChild, RemoveChild methods
- all extended scene objects from TF3D_Entity now with name in constructor
- when Vertex Buffer Object isn't supported on GPU, then rendering is changed to Vertex Array rendering method
- all demos are now fixed to new features
- jF3D ver. 0.1.2
- added axis aligned billboard/sprites rendering system
- fixed bug when Vertex Array was enabled
- Entity position/rotation/scale are now private
- Added Getter/Setter for Entity position, rotation and scale
- New Entity method added - UpdateAxisDirection
- Fixed buffer speed issue and uncontrollable memory fill every frameloop when update VBO was called
- Font and HUD image class was rewrited for increase FPS
- Fixed mouse freelook control in a few demos
- jF3D ver. 0.1.3 [AGFX_jF3D_GraphicsEngine]
- writed new TF3D_Timer2, extended from LWJGL Timer
- TF3D_Mesh is now only as geomery data container
- added TF3D_MeshManager for list control of meshes
- new TF3D_Model is now group of entity propertie with pointer to Mesh data
- Sprites/Billboards, Models, Lights rendering is now controled from core-engien mainloop (later will be moved to TF3D_World.Render()) and update to TF3D_World.Update()
- jF3D ver. 0.2.2 [AGFX_jF3D_GraphicsEngine]
- BIG major changes
- removed all Entity management classes
- now every object extended from TF3D_Entity is stored in F3D.World.entitier list (SPRITE,CAMERA,MODEL,PIVOT)
- when new entity is created, then is automaticaly added to the entities list
- this feature is configurable via F3D.Config.use_autoassign= <true/false>
- in manul mode you need call F3D.World.Add(entity)
- rewrited demos
- jF3D ver. 0.2.4 [AGFX_jF3D_GraphicsEngine]
- all LWJGL math was changed to javax.mathlib
- TF3D_Physic class added - create jBullet physics world
- added early version of TF3D_Body which contain MODEL and jBullet RigidBody
- was created Demo_BasicPhysic with tre faling cubes
- jF3D ver. 0.2.6 [AGFX_jF3D_GraphicsEngine]
- TF3D_GLDebugDrawer added for visual Bullet physics debug
- added all Bullet predefined collision shapes
- demo Demo_ShapePhysics included
- jF3D ver. 0.2.7 [AGFX_jF3D_GraphicsEngine]
- early version of Skydome
- shape collision is now with TriMesh support
- All next jF3D version are available now on code.google.com
ToDo: - Fog
- Keycontrol binding with callback function
- Java Open Particle System [JOPS]
- optional GLSL rendering
- add F2D extension for 2D game development
|
|
Any comments are welcom.
I tried to run under macosx and everything works fine.