Ive been working on a 3d game engine written in pure java and I have a version Im happy to show.current support:basic shapes such as squaresdrawing vertexsfunctional camera3d line rendererinfinate 3d planeFull bitmap texture supportfuture support:More complex shapes such as tetrahedronsoptimising rendering algorithms and determining weather and object is behind the camera (working on currently)support for a map array to store blocks

The updated code will happily render 4000 cubes (no line removing algorithms for things like behind block) at 30 fps when the camera is focusing on a few a constant 200 fps can be expectedhere is the picture!http://gyazo.com/d40e865eb0bace45c9c47fb70f529729

a wall of 2000 blocks (using a slightly more optimised code) at 50 fps

More progress to come in the future!

#######update!#######So I have been considering merging my old 2DGE project some of you might remember. However they will both be rewritten from scratch ( on the 3DGE just optimisation will occur) This will be released as a full graphics engine sometime in the future quite far in the future as I have a large amount of school work.

Also a quick note, I have finalised the algorithm for rendering textures on the side of object (it will support custom image sizes in the future) For now its 32 by 32 for simplicity. More features such as a cameracontroller and an actual release will come soon when basic support for cubes and face rendering only if visible.

LATEST UPDATE: TEXTURES!

fully supporting all size textures I would like to thank this genius over here ----> http://www.java-gaming.org/index.php?topic=25271.0 Of course the code isnt perfect when implemented in mass so im doing some optimisations but I was struggling to understand it until I saw that so big thanks.

Welp time for the pics!

With a few more frame tests I have massive improvements. the ability to render 500,000 textured and scaled triangles at 10 fps.

I was going to to say, if you're using OpenGL, 2000 x 4 = 8000, and 8000 vertices isn't that much when rendering, and 50 FPS seems kind of low. Come to think of it, that seems a little low for Java2D, also. What kind of rendering are you using? A bufferedImage or are you literally calling drawSquare in the Java graphics library?

HAh go onto youtube and look for something like darkmoon eclipse color. vanzeeban did one. To be honest I have never really used an external library. The math is from a site called gamdev.net.

Im thinking of upgrading the renderer though so instead of rendering as full shapes or lines I do sides this will allow facing comparison alot like minecrafts render technique. If a tile is facing another tile directly it is not drawn vice versa.

Sorry its not 48000 lines it 96000 this is because it overlaps when drawing faces at the moment. Also I tested this on a computer with only standard intel graphics, double buffering and a core2duo (the cheaper range of them) I got 25fps as average for 96000 lines.

Also I have evaluated the use of the two mesh rendering techniques I came up with. the 1st choice which is to render lines across would be more efficient as its not rotating every single pixel in the shape.

OK so ive set a few goals for this project.1: Fully develop a functioning 3d rendering that allows for quads and triangles to be rendered along with support for textures.2: Integrate a fully functional maths api containing complex algorithms for handling line rendering , areas of complex shapes and other things that may be useful.3: Support immediate and buffer based rendering techniques.4: support 2d and 3d states allowing switching between both states without any hastle5: Implement large amounts of optimisation to give the most performance.6: Include advanced face culling algorithms to lower the amount of objects that need to be rendered.

* Things below here are most likely going to happen very late in the development7: a dynamic lighting api and system.8: 3d & 2d animation api9: Advanced input support.

If there is anything you guys would think would be great then post them below!

so I've just done a few performance tests. The code is now optimised a little bit more there is a lot that can still be done however currently 256*256 textured 32 by 32 squares runs at 10 fps which is about 250000 squares or 500000 triangles.

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org