Jump to content

Rend2 - A Modern Renderer


Xycaleth

Recommended Posts

Original thread: https://jkhub.org/topic/2804-rd-rend2-old-thread/

What is rend2?

It's no secret that JKA is over 13 years old and arguably the graphics haven't aged well, compared to recently released games. With graphics having come so far in the past decade, and with JKA's engine source code now available, it would be a shame if nobody at least tried to bring something new to JKA's rendering engine :)

Rend2 is an attempt at this, and brings with it better utilisation of your graphics card for better and increased FPS. More importantly, it makes use of a variety of newer rendering techniques such as real-time dynamic shadows and lighting, normal mapping and specular mapping. Another big feature is physically based rendering: a relatively new feature in games that allows artists to create more realistic materials.

So if you love shiny graphics then hopefully this can be something that will appeal to you :) It adds some extra depth to an otherwise ageing game. It does mean though that you will need a graphics card that was made in the last 6 years! Even if graphics don't matter to you, rend2 gives more stable and increased FPS to give the game a smoother feel.

Where can I download it?

Currently, only Windows builds for multiplayer are available. Downloads are available from: https://github.com/SomaZ/OpenJK/releases

To run rend2:

  • Download the latest version of OpenJK (https://builds.openjk.org) or use the existing build that comes with the rend2 download
  • Extract rd-rend2_x86.dll from the ZIP file into your GameData folder if necessary
  • Start OpenJK
  • In the console, enter (without quotes) '/cl_renderer rd-rend2; vid_restart'
  • Enjoy!

Please keep in mind that rend2 is still very heavily WIP and many things can and will change still before it's finished.

What does rend2 have so far?

Complete

  • Normal mapping
  • Specular mapping
  • Parallax mapping
  • HDR + filmic tonemapping
  • Multisampled Antialiasing
  • Improved texture compression support

Working, but still in progress

  • Real-time lighting
  • Real-time sun shadows
  • Image-based lighting

TODO

  • Feature parity with the vanilla renderer - surface sprites, fog, flares, misc_bsp, ghoul2 marks.

Full list of things to do, including bugs and performance improvements can be found here: https://github.com/xycaleth/OpenJK/issues

How can I help?

@SomaZ is currently the sole developer for rend2, but I’m sure he would appreciate any help. Whether that be with coding, making examples for others to follow or for him to test features, or even just reporting bugs in this topic!

Making examples

For examples, this could range from writing some basic materials along with their textures, to creating maps to show off what rend2 can do. These examples would also be used to test rend2 performance and to make sure nothing is broken after any changes to the code.

Coding

For coding, I would recommend you know computer graphics well enough to implement some basic algorithms on their own (e.g. shadow maps, some post-processing effects). If you are able to do this in Direct3D, then learning OpenGL should be reasonably easy. Unfortunately I don't have the time or inclination to teach graphics to every coder that comes my way. If you think you are able to help, you can find the latest rend2 code in this fork of OpenJK:

https://github.com/SomaZ/OpenJK/

All rend2 work is being done in the ‘rend2’ branch.

Edited by Xycaleth
SomaZ is running the show now!
Link to comment

Hey, just saw the old thread and all stuff in it. That is some really amazing stuff. I decided to give it a try to the MP of JKA, so I used the Installation tutorial by Cerez for installing OpenJK (for Windows). But what do i have to do else, in order to achive this good looking HD effect and good new shader as shown in this image:

SqCwUo3.jpg

Maksman likes this
Link to comment

Hey, just saw the old thread and all stuff in it. That is some really amazing stuff. I decided to give it a try to the MP of JKA, so I used the Installation tutorial by Cerez for installing OpenJK (for Windows). But what do i have to do else, in order to achive this good looking HD effect and good new shader as shown in this image:

Rend2 doesn't automagically make everything HD. That's up to the texture artists.
Tempust85 and dark_apprentice like this
Link to comment

Rend2 only renders, it doesn't create. It's still the artist's job to create the assets and there's alot of artists around here to do just that when the time comes. If you want decent results, texturing would have to be redone at the very least which means works like Hapslash's Obi-wan will not look good "as-is". What you see in that pic is generated normal maps which tbh, the feature should go at some point because it generates a normal map for every texture including menus & effects afaik.

eezstreet and dark_apprentice like this
Link to comment

Thank you guys for all this explanation, it's helpful to learn new stuff :) Btw @@Xycaleth on second view around the test view using HS Kenobi if we look closer on this image of his head, I think it needs to be reduced a little bit, because as it looks now it gives him more shiny look, like his hair is somehow a metallic helmet (which would be better to use over Vader) and not over a normal hair, but that's perhaps something you already know and is from the small details for later period in the development/testing.

Link to comment

Is there a place for documentation? I suppose there isn't much available yet, but if there's a wiki page somewhere you don't need to write it all yourself. I'd be interested in playing around with this a bit, and I might as well document it while I'm learning it.

Archangel35757 likes this
Link to comment

Hey, i just compiled your new version of the renderer, but i cant launch the game:

----- Initializing Renderer ----
Trying to load "rd-rend2_x86.dll" from "D:\Spiele\StarWarsJediAcademy\GameData"...
Mismatched REF_API_VERSION: expected 7, got 8
Closing SDL audio device...
SDL audio device shut down.
Couldn't initialize refresh

Any idea?

 

Ah nvm. My fail. Didn't copy the new executable..........

How can i activate the new renderer? r_renderer doesn't seem to work anymore.

Edited by SomaZ
Link to comment

Hey, i just compiled your new version of the renderer, but i cant launch the game:

Any idea?

 

Ah nvm. My fail. Didn't copy the new executable..........

How can i activate the new renderer? r_renderer doesn't seem to work anymore.

The cvar is now cl_renderer I believe

Link to comment

Hey, i just compiled your new version of the renderer, but i cant launch the game:

Any idea?

 

Ah nvm. My fail. Didn't copy the new executable..........

How can i activate the new renderer? r_renderer doesn't seem to work anymore.

cl_renderer rd-rend2

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...