Here are some screenshots I took:
Those textures had light reflection in shader function?
PBR, Physically Based Rendering:
Something that we donât have working yet in the current 1.3 renderer, but that Trem may have in the near future
Current progress. I still donât know how to create and/or write proper shaders.
Photos are created with all new graphical features what are implemented in the engine.
- Bloom, PBR, new HDR, new FXAA, new lighting model system, lens flare, new parallax mode, new specular mode, SSAO, SSGI, ⊠etc. etc. etc.
Holy shit, is all i can say to this.
@TheDushan the post before this last one looks nice, but these last 3 shots look like i drank too much whiskey⊠what fx are making things look depth of field-y / oily paint-y?
I would like to say THANKS to @yalt for sharing the map source files with me and allowing me to create all this
Hmm? I normally like work from TheDushan (OpenWolf etc.), but honestly these screenshotsâŠ, erm, they donât really look well imo. Were they meant as a joke? Or is this really the actual state of Tremulous second renderer?
@TheDushan I know you can do cool rendering stuff, wasnât there some fancy Crysis-like underwater screenshot/video of your renderer somewhere around?
The renderer2 had some serious issues in the past, but at its current state we can make real nice maps for renderer2 (with cascded sun shadows etc.)⊠Probably Tremulous renderer2 isnât up to date, normally the new renderer should work well.
These are probably tests of the rendering capabilities, heavily exaggerated so that every little mistake in the code is obvious. But to be honest, these actually do look better than e.g. Unvanquished, which in my opinion simply looks boringâŠ
Ah okay, thanks for the answer! I just asked because currently Iâm also working on the renderer2 and I wanted to know if there is something to fix here. Well, your new Tremulous project looks veeeeery promising to me!
@Toku & @lamefun , actually all of the screenshots that @TheDushan have been posting are not renderer2. Renderer2 makes use of features from OpenGL2 and some from OpenGL3. It does have a lot of nice more advanced improvements than the old Tremulous renderer, like specular and normal mapping, work on sun shadows, work on the sunlight, improvements to dynamic lighting, etc.
The screenshots @TheDushan has been showing is from the new OpenWolf engine that we will be working on switching to for the next major version after Tremulous 1.3. OpenWolfâs renderer goes way beyond what renderer2 has to offer, @TheDushan has been working on full implementation of OpenGL4 features. He has features such as physically based rendering (pbr), and tessellation, overhauled shadows from all lighting, dynamic skyboxes, and much much more. It also scans what features your system can support, and automatically disables the features your system doesnât support. Additionally he has been working on optimizing the performance with all of the fancy advanced features enabled.
As @lamefun suggested in his previous post, @TheDushan has been testing out the most extreme aspects of the available features to work out bugs, and take the renderer capabilities as far as he can take it. It is probably safe to say that this renderer will be the most advanced one available for any idtech3 based game available so far. From what I have seen personally from initial tests so far in-game, this renderer looks comparable with even latest commercially available game engines like UE4 and id Tech 6.
Still, something that I think @TheDushan should consider is implementing a Vulkan backend instead of OpenGL4. We were a bit hesitant on that since at the time there werenât any Open Source options for supporting Vulkan for macos, but now there is for both macos and iOS:
Vulkan is suppose to have all of the feature capabilities of OpenGL4, but with better optimizations, additionally Vulkan is intended to be OpenGLâs successor.
Ah, well, sounds promising!
Btw, your current renderer2 already has physics based rendering (WIP, we need proper assets)): https://github.com/GrangerHub/tremulous/blob/master/src/renderergl2/tr_init.cpp#L1151
All in all there are only three different idtech3 renderers I am aware of, the one from Robert Beckebans ((ET)Xreal â OpenWolf. Than the one from SmileTheory (James Canete), as part from ioquake3 project (which is also based upon Xreal) â this is your current renderer2, and finally the one from kungfooman: https://github.com/KILLTUBE/libwebgame_idtech3
All in all we are more or less bound to anyone of those three. It would be nice if you will introduce another one.
On the other hand itâs also a bit sad that only Spearmint and Tremulous kept the renderer2 from ioquake3, which is capable of many more features people aware of. Unfortunately there are not much people that make assets for the new renderer. Btw, the (cascade) shadows are faster than Xrealâs real time shadowing, which Xreal completely lacks of.
ETLegacy also switched from ioquake3âs renderer2 to the original ETXreal renderer. The original ETXreal renderer has a few advantages (features) and also a few disadvantages (fog is broken, coronas are missing etc.).
Do you guys want to keep the current ioquake3 renderer2?
For Tremulous 1.3, we intend to keep renderer2 available at least as an option, if another alternative becomes available to try on the current ioquake3 based engine 1.3 uses, we can certainly try it without having to give up renderer2, since there is a cvar for switching between the renderers.
Recently someone that goes by the name suijingfeng on github has been working on a Vulkan version of ioquake3âs renderer2, and Iâve heard that he intends to submit a pull request back to ioquake3 when heâs done. I tried porting some of his work to Trem 1.3 as an exercise to get an idea of what itâs like, although my implementation is very buggy and incomplete: Vulkan Renderer for Trem 1.3 .
As I understand it, and @TheDushan is welcome to correct me on anything, and/or elaborate, the new renderer on the latest OpenWolf ( GitHub - TheDushan/OpenWolf-Engine: Heavy modified idTech3 engine , note that repo is not fully up to date, @TheDushan has been doing a lot more work on it since, that he hasnât pushed publicly yet), is loosely based on ioquake3âs renderer2, and does make use of various pieces from Xreal, etlegacy, idTech 4, from other foss sources, and a lot from @TheDushanâs previous work on OpenWolf in the past, but it has a large amount of original work that @TheDushan has been working on since.
True, it does have some kind of support for pbr in the code, but it is very untested, and it probably needs more work even once assets are made for it. But the new renderer in the OpenWolf engine does have full working support for pbr, as can be seen in these screenshots of the Vega map taken on the OpenWolf engine:
Okay, I canât say anything about TheDushanâs work if his repository isnât up-to-date. Well, weâll seeâŠ
Eventually he should really talk to kungfooman, this guy really made pbr look great: idtech3 + playcanvas = win (pbr gltf testing and some sky/cube-maps) - YouTube. I tested his engine and it runs really fast (unfortunately the whole game isnât much Q3 anymore, but thats just my personal issue).
One day all those coding gurus should work together!
BTW: current vulkan for ioq3 supports none of the renderer2 features afaik, at least when I tested the project. I donât know how supporting VAOs and how to port stuff to vulkan
@Toku Technically with code everything is correct. Itâs just a new effects what are on top of the texture. Itâs called âtexture cleaningâ and âexpanding dark surfacesâ .
Along with that effects on provided photos from bigger techâs are also âScreen Space Shadowâ, âDeferred Renderingâ, âScreen Space reflectionsâ, âScreen Space Directional Occlusionâ, " Horizon Based Ambient Occlusion (along with effects what are inherited from ioQ3 renderer (cube mapping âŠ).
As you can see on the new pictures what I published and posted here.
With new effects
and without new effects
I didnât documented or told anyone until now about all this. User or client can choose does he want that or not. Itâs matter of choice. Simple as that
Personally I like that effect, but I am not forcing people to use it.
`wasnât there some fancy Crysis-like underwater screenshot/video of your renderer somewhere around?
There is
On the provided photos is active full PBR (Physically Based Rendering) with 2K (2048 x 2048) textures (real PBR textures (Albedo map, Gloss map and inverted nY for the normal map), and because of that pictures and effects look different then what people are use to with ânormalâ (Diffuse/Bump/Specular) mapping.
If Google search cannot help and explain between difference I can
Okay, I canât say anything about TheDushanâs work if his repository isnât up-to-date.
I didnât update code at the GitHub for few months, but I will eventually .Reasons for not doing that is just that how I see all this story and whole idTech3 scene is that no-one is interested and everyone is the critic without asking or want to update knowledge of something new.
If anyone else can do better, can create better, I am here.
I am sorry if textures are not correct, I donât know how to properly re-texture map, and because of that reason I ask for forgiveness
Because of that reason,with my latest revision I have introduced possibility to overwrite and override map default conditions. Of course like in last 9+ years nothing is documented and until now only I know how it works.
Itâs really simple. With now common map files (mapname.world (that is updated BSP file format), mapname.cm, mapname.bullet) you as map maker get âmapname.envâ file.
In that file you can add/edit/move all class names what are inside map source âmapname.mapâ
this is my initial testing of the feature
{
"message" "OVERWRITE TESTING!"
"classname" "worldspawn"
}
When game load map, engine will check if new â.envâ file is present and override âclassnameâ what is hard-cored inside the compiled map.
Logic behind all this is really simple.
There are people who donât know how to create maps, and donât want to learn (I am one of them) but they would like just to add/edit some small things there. With this system we are on the middle between idTech3 engine and idTech4 engine.