Releases: JohnsProject/JPGE
Releases · JohnsProject/JPGE
v0.2 - beta
- Renamed VectorUtils to Vector3Util class
- Renamed VectorMathUtils to Vector3MathUtils class
- Created VertexUtils class
- Created UVUtils class
- Changed vertex from int[] to long packed like rbg int value in java awt
- Changed uv from int[] to int packed like rbg int value in java awt
- Changed everything needed to work with the new vertex and uv
- Added texture to the Material class
- Changed Image class pixel storage from BufferedImage to int[]
- Added default texture adding to SOMImporter
- Fixed affine texture mapping uv position swapping bug
- Changed affine texture mapper to work only with integers!
- Fixed some affine texture mapping bugs
- Moved zBuffer from Camera to SceneRenderer
- Changed Image class name to Texture
- Fixed affine texture mapping texture deformation bug!!
- Optimized zbuffer
- Added affine texture mapper texture to uv size interpolation
- Fixed zbuffer bug
- Renamed UVUtils to Vector2Utils
- Added MouseInputManager class (handles mouse events)
- Added MouseListener interface (sends mouse events)
- Added MouseEvent class (contains event data)
- Optimized KeyInputManager
- Added JunitTests and commented MathUtils class
- Added JunitTests and commented VertexUtils class
- Added JunitTests and commented Vector3Utils class
- Added JunitTests and commented Vector3MathUtils class
- Added JunitTests and commented Vector2Utils class
- Renamed Vector3MathUtils to VectorMathUtils because it handles 3d and 2d vectors
- Changed Camera 2d vectors from int[] to int of Vector2Utils
- Fixed sine, cosine precision bug of MathUtils class
- Added surface subdivision to blender som exporter to fix affine texture mapping displacement (like ps1 did :D)
- Improved MathUtils sine, cosine, tangent performance
- Improved affine texture mapper performance (added bitshift to uv interpolation)
- Added comments to the Animation class
- Added comments to the Mesh class
- Added comments to the Light class
- Added comments to the Scene class
- Added comments to the Camera class
- Added comments to the Texture class
- Added comments to the Material class
- Added comments to the Transform class
- Added comments to the SceneFrame class
- Added comments to the SceneObject class
- Added comments to the SceneAnimator class
- Added comments to the SceneRenderer class
- Added comments to the CameraEvent class
- Renamed EventDispatcher of graphics event package to GraphicsEventDispatcher
- Added comments to the CameraListener interface
- Added comments to the GraphicsEventDispatcher class
- Added comments to the EventDispatcher class
- Added comments to the UpdateListener interface
- Added comments to the UpdateEvent class
- Changed GameManager update from swing Timers to Threads
- Changed KeyInputManager thread synchronizing from semaphores to synchronized list
- Changed SceneRenderer to work with 2 threads, 1 for transformations, and other for drawing (needs to be refactored, its a mess now)
- Added SceneRasterizer class
- Changed graphics update type of UpdateEvent to render and rasterize update type
- Changed graphicsUpdate thread of GameManager to renderUpdate and rasterizeUpdate
- Now the SceneRenderer does the transformations and the SceneRasterizer draws the Scene
- Performance improved with this new graphics pipeline!!!
- Updated SceneRenderer comments and added comments to the SceneRasterizer class
- Added PixelShader class! (is called to shade when a pixel in the Camera is set)
- Added Shader class! (is called to shade the vertexes and polygons by the SceneRenderer)
- Updated some comments
- Added RenderUtils class (provides methods needed at the rendering process)
- Deleted SceneRasterizer class
- Removed multithreaded rendering pipeline to fix multiple camera rendering bug
- Fixed some bugs
- Added Profiler class!! (shows informations about what the engine is currently doing)
- Added benchmarks and optimized some things
- Changed vertexes from long to int[] (performance reasons)
- Changed vectors from long to int[] (performance reasons)
- Changed everything to work with int[] again
- Renamed VectorMathUtils class to Vector3MathUtils because with int[] (to handle only 3D vectors/int arrays with length >= 3)
- Added Vector2MathUtils class (to handle only 2D vectors/int arrays with length >= 2)
- Added VectorUtils class (provides methods for swapping vectors and so on)
- Removed Vector2Utils class
- Removed Vector3Utils class
- Fixed flickering bug (changed from Canvas to JPanel)
- Performance improvement
- Improved Profiler (showing pressed key and mouse clicks now)
- Fixed some bugs
- Added flat shading!!
- Fixed some bugs
- Fixed projection bug
- Fixed some bugs
- Added new methods to VectorUtils and MathUtils
- Added lerp method to the ColorUtils
- Optimized random algorithm and added ranged random method to MathUtils
- Optimized and improved the default Shader
- Fixed some bugs
- Added gouraud shading to the affine texture mapping algorithm in RenderUtils
- Added vertex normal exporting/importing
- Fixed growing ram usage bug (it was the foreach light loop in the Shader class, wtf ???,
it fixed when i changed to for loop, now changed all foreach to for loops) - Fixed depth buffer bug!!! (added per pixel depth value interpolation)
- Added Vertex class
- Added Face class
- Changed things to work with Face and Vertex class
- Added per pixel depth value interpolation to the affine texture mapper
- Improved performance of Face drawing algorithms
- Fixed bugs and improved performace in ColorUtils class
- Fixed bugs
- Improved performance
- Added some default models to the resources folder
- Fixed some bugs
- Improved precision of som exporter/importer
- Renamed SceneFrame to SceneWindow
- Moved JPanel from each Camera to 1 JPanel in the SceneWindow (less ram usage, fixed flickering bug when more than 1 Camera is active)
- Moved projection type, rendering type... from camera to shader class in form of constants
Initial version
- Added Perspective projection
- Added BackfaceCulling
- Added drawing order of components
- Added Orthographic projection
- Added Blender Mesh importing
- Added BackfaceCulling with sholeance algorithm (tried to implement zBuffer without success)
- Added multiple Cameras Rendering
- Added FileIO class (possibility to read and write files)
- Performance improvements
- Changed Position, Rotation and Scale classes to Vector3 class
- Added Vector2 class (for 2D graphics)
- Added Transform class (for translating, rotating objects)
- Added GameManager class (updates the engine)
- Added material color importing
- Changed update method of GameManager from thread to swing timers
- Fixed awt drawing flickering bug by changing to swing timers
- Added shading
- Optimized ram usage
- Changed SceneRenderer to draw on BufferedImage of camera instead of making a polygon buffer
- Optimized ram usage
- Changed camera from swing JPanel to awt Canvas (performance improved)
- Changed sceneFrame from swing JFrame to awt Frame (performance improved)
- Optimized mesh Exporter/Importer
- Changed KeyInputManager to work "Stand alone" instead of needing a JComponent to work
- Changed Camera ScreenBuffer from Image to BufferedImage
- Added zBuffering!
- Changed from Vector3 class to int[][] for performance reasons
- Changed awt Graphics drawing on Camera to own drawing on BufferedImage
- Optimized sholeance algorithm
- Corrected negative Cosinus bug of Calc
- Added SOM_Importer (removed test importing method form Mesh class itself)
- Added color baking for shading (stoped generating new colors for each polygon)
- Added ImportExeption (for case of polygons with more than 3 vertexes)
- Changed from Polygon class to int[][]
- Optimized ram usage a lot
- Fixed awt Canvas flickering bug by drawing to BufferStrategy.getDrawGraphics instead of calling repaint
- Added Vector class that makes basic vector operations (addition, multiplication...)
- Added Animation importing/exporting
- Added SceneAnimator class (animates the Scene)
- Added animations!!!
- Fixed bug of bone position not changing vertex position
- Fixed triangle filling bug
- Added auto triangulation when exporting from Blender
- Added sample animation/bone creation when object has no animation/bone
- Changed triangle filling algorithm! (10x performance)
- Created utils package
- Moved Calc class to MathUtils
- Moved Vector class to VectorUtils
- Moved GraphicsCalc class to VectorMathUtils
- Created ColorUtils class for handling the int rgba color of awt
- Created Material class
- Fixed some small bugs
- Added affine texture mapping!!!
- Writing pixel of Camera to DataBuffer instead of BufferdImage.setPixel (big performance improvement)
- Fixed perspective projection bug!!!
- Fixed camera transformation bug
- Removed transformBuffer from SceneObject
- Fixed view frustum culling bug