Java-Gaming.org Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (707)
Games in Android Showcase (206)
games submitted by our members
Games in WIP (781)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  FFP Software Rendered - GFX/Game Progress  (Read 4165 times)
0 Members and 1 Guest are viewing this topic.
Offline Archive
« Posted 2016-09-11 23:05:25 »

 Like the previous Envel engines, this is pure java with no libraries other than the JRE.

Current Build: 0.5.1

I named this engine FFP (Fixed-Function Pipeline) and it functions very similarly to legacy fixed function openGL.

0.4.5 Demo download link (old, this demo does not reflect the current build at all):
http://www.mediafire.com/download/numbf8573d27cyy/jffp_0_4_5.jar
This is an image of the demo contained in the download link above.


Controls for the demo:
WASD - Motion
Arrow keys - Look
R - Toggle draw wireframe
F - Toggle draw vertex dots
C - Toggle draw solid polygons
5 - switch through antialiasing modes (2 modes)
Right mouse button - zoom (two levels)
6 - toggle stop updating view frustum (allows you to see the culling)
7 - sets the window bordered or not
8 - toggles vertex lighting (only on the halberd in this demo)
9 - toggles texture mapping
0 - toggles double maps (lightmaps in this case)
X - toggles smooth shading (only for halberd in this demo) (off by default)
Z - switches between phong and gouraud shading when smooth shading is activated
N - press to cycle through phong light resolution (only works when phong shading is activated)
E - toggle collision (includes gravity when on) (glitchy and work in progress)
Space - if collision on, jump.
Q - toggles mouse look (mouse look rotations are not bounded yet)
Escape - exit program

Supported:

Renderer:

Points
Lines
Line strips
Line loops
Triangles
Triangle strips
Triangle fans
Quads
Quad strips
Perspective correct texture mapping
Double textures (multitexturing but only up to two textures)
face culling
depth only output
depth buffering
modelview, projection, texture, and double map texture matrix
dither transparency with optional blending of dithered regions
Sphere env mapping
Texture env modes: Decal, Add, Modulate, Mix
full 6 plane frustum culling and clipping
bilinear, nearest index, or dithered texture filtering
Fog
block filtering
Quadrics with point,fill,silhouette,line,outside,inside,smooth,flat,none.
Multithreaded rendering (this is an option)
Deferred rendering for speed
State storing and restoring

Video:
-video antialiasing
-video filtering (box filters)



Lighting:

Gouraud vertex shading
Flat shading
ambient, diffuse, specular, emissive light
8 light sources
constant, linear, quadratic attenuation
Lightmap support (with shadows and spotlights)


Engine stuff, not part of the graphics library
Model:

MD3(FMD) animation and model support
OBJ model support

Other:
In game console with typing, history, and commands
Skybox
TGA image format I/O with RLE
BMP input with RLE

World collision and gravity with 3D BSP tree
Entity-world, entity-player, entity-entity collision (ellipsoids and vertical cylinders)
first and third person camera support

Dithering into 256 colors with a custom palette


Some pictures:





Some images to display vertex lighting with different materials




One of my favorite images of lightmapping:


Old pics:
This is showing the double texturing feature. Notice how the car has its own red texture but there is a sphere env map of the skybox blended onto it.


This is displaying the support for MD3(FMD) animation and model support. The tree is an MD3(FMD) model without an animation.
Click to Play


This project is for personal use and learning

I'll be updating this thread periodically when something cool has been accomplished (instead of posting on the What I Did Today thread)

Offline orange451

JGO Kernel


Medals: 247
Projects: 5
Exp: 6 years


Your face. Your ass. What's the difference?


« Reply #1 - Posted 2016-09-12 03:29:04 »

Looks really good! Smiley
Just gotta get some of that lighting stuff pre-generated!

First Recon. A java made online first person shooter!
Offline EgonOlsen
« Reply #2 - Posted 2016-09-12 06:55:32 »

Looks nice, good work. But the anti-aliasing actually looks more like a simple blur filter to me... Huh

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Archive
« Reply #3 - Posted 2016-09-12 14:26:53 »

Looks nice, good work. But the anti-aliasing actually looks more like a simple blur filter to me... Huh
(just between us, it is, I'll implement something better soon Wink )

Online J0
« Reply #4 - Posted 2016-09-12 14:47:43 »

Careful, mouse look keeps mouse at the middle of the screen instead of the middle of the frame :p
Also, I love this renderer! (to be honest I'm mostly commenting here to keep updated on the thread Roll Eyes )
Offline Archive
« Reply #5 - Posted 2016-09-12 15:55:48 »

Careful, mouse look keeps mouse at the middle of the screen instead of the middle of the frame :p
Also, I love this renderer! (to be honest I'm mostly commenting here to keep updated on the thread Roll Eyes )
Oh shoot yeah I forgot to fix that. I'll fix it and upload another version within a few hours

Offline Archive
« Reply #6 - Posted 2016-09-20 05:44:07 »

UPDATEEEEE

New download link (also updated in the main post):
http://www.mediafire.com/download/n3edp67ygnp3v5g/jffp_0_4_5.jar

Some pretty pics:





Check the main post for an updated list of controls!

New features/fixes:
The mouse recentering is now relative to the frame instead of the screen.
Perspective correct Phong lighting with different resolutions.
Fixed diffuse lightmap calculations (used to be erroneously overcalculated = too bright)
Better polygon face normal calculation (now use the average of vertex normals to find face normal)

Things not in the demo:
Added more premade materials
Added a texture object which stores an image and a material
^ this texture object also contains many methods to blend/manipulate the image.
Added a model factory which allows the creation and storage of default models (torus, sphere, cube, cone, cylinder)
^ opposed to creating them real time using the RENDERER's own methods.
Also added texture projections (sphere, cylindrical X/Y/Z, frontal, and top)

Offline orange451

JGO Kernel


Medals: 247
Projects: 5
Exp: 6 years


Your face. Your ass. What's the difference?


« Reply #7 - Posted 2016-09-21 01:58:31 »

The phong looks really nice! Smiley

First Recon. A java made online first person shooter!
Offline Archive
« Reply #8 - Posted 2016-09-21 04:45:18 »

Thanks orange!

Small update: due to a fan's request I have made it so that the game can be scaled up/down without changing the game's resolution! So you can enjoy the speed of 640x480 at 2560x1440!

Download link:
http://www.mediafire.com/download/numbf8573d27cyy/jffp_0_4_5.jar

Offline Archive
« Reply #9 - Posted 2016-12-15 05:34:48 »



Gun model thanks to orange451

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Archive
« Reply #10 - Posted 2017-01-18 20:40:44 »

Here are screenshots of all the demos I've put together, most of these are from the opengl redbook converted to work with my engine. Some I've created on my own, and others I've found on the internet.

All of the following images have been rendered in real time in FFP Smiley

basic2d.java (basic 2d graphics in the engine)

blockfilter.java (block filtering on the bottom plane, or single level mipmapping @theagentd)

chaos.java (chaos using the growth formula x_(n+1) = L * x_n * (1-x_n))

checker.java (showing off the texture filtering, from left to right: nearest, dithered, bilinear)

colormat.java (color material)

cube.java (really basic 3D)

dither.java (showing off the dithered-paletted graphics mode)

dmtex.java (multitexturing)

fog.java (exponential fog)

gears.java (ahh the gears program...)

mandelbrot.java (this one isn't rendered in real time, it takes around 5 seconds to generate the image)

material.java (redbook 101)

movelight.java (redbook 101 as well)

polyhedra.java (my own program that shows the built in tetrahedron, icosahedron, octahedron, and dodecahedron functions)

quad.java (a super detailed and interactive demo of quadrics)

quadric.java (redbook quadrics)

robot.java (redbook... showing model matrix capabilities)

scene.java (vanilla redbook)

scube.java (cool cube shadow using a shadow matrix, [shadow is dithered but blended post-render])

smooth.java (vertex interpolation)

spheremap.java (sphere mapping and multitexturing [checkerboard and red-green-yellow gradient textures])

steam.java (found this neat program online, has a nice animated and controllable steam engine thing)

vidfilter.java (post-render video filtering)

watersurf.java (another one I found online but heavily modified. Surface is sphere mapped and perlin noise is used)

wave.java (also found this online, this wave is animated and stored in a sequence unlike the previous one)

Pages: [1]
  ignore  |  Print  
 
 

 
Galdo (315 views)
2017-01-12 13:44:09

Archive (475 views)
2017-01-02 05:31:41

0AndrewShepherd0 (937 views)
2016-12-16 03:58:39

0AndrewShepherd0 (876 views)
2016-12-15 21:50:57

Lunch (1008 views)
2016-12-06 16:01:40

ral0r2 (1239 views)
2016-11-23 16:08:26

ClaasJG (1339 views)
2016-11-10 17:36:32

CoffeeChemist (1353 views)
2016-11-05 00:46:53

jay4842 (1434 views)
2016-11-01 19:04:52

theagentd (1228 views)
2016-10-24 17:51:53
List of Learning Resources
by elect
2016-09-09 09:47:55

List of Learning Resources
by elect
2016-09-08 09:47:20

List of Learning Resources
by elect
2016-09-08 09:46:51

List of Learning Resources
by elect
2016-09-08 09:46:27

List of Learning Resources
by elect
2016-09-08 09:45:41

List of Learning Resources
by elect
2016-09-08 08:39:20

List of Learning Resources
by elect
2016-09-08 08:38:19

Rendering resources
by Roquen
2016-08-08 05:55:21
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
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!