Pages: 1 [2] 3
  Print  
Author Topic: General engine wish list  (Read 58952 times)
fromhell
Administrator
GET A LIFE!
**********

Cakes 35
Posts: 14520



WWW
« Reply #25 on: February 20, 2014, 07:52:01 AM »

If enhanced new lens flare reflections are something to be implemented....



I got that down too Tongue
Logged

asking when OA3 will be done won't get OA3 done.
Progress of OA3 currently occurs behind closed doors alone

I do not provide technical support either.

new code development on github
Gig
In the year 3000
***

Cakes 45
Posts: 4394


WWW
« Reply #26 on: February 20, 2014, 08:34:24 AM »

Nice... will that be \r_flares 2?
Logged

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
fromhell
Administrator
GET A LIFE!
**********

Cakes 35
Posts: 14520



WWW
« Reply #27 on: February 21, 2014, 06:58:17 AM »

r_flares 5 actually.  I'm combining the lensReflection cvars into r_flares 2, 3 and 4.

Also I just made r_film.....which is much like a next gen game's post processing


but done with only blending functions
Logged

asking when OA3 will be done won't get OA3 done.
Progress of OA3 currently occurs behind closed doors alone

I do not provide technical support either.

new code development on github
Gig
In the year 3000
***

Cakes 45
Posts: 4394


WWW
« Reply #28 on: February 21, 2014, 07:13:52 AM »

Wow, are you in a coding spree, nowadays?
Very good news!!!!  Smiley
Logged

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
fromhell
Administrator
GET A LIFE!
**********

Cakes 35
Posts: 14520



WWW
« Reply #29 on: March 12, 2014, 01:23:22 PM »

Other engine changes i've done (but yet to commit Sad)

- Fixed the bloom "32-bit textures not supported" message and allow it to work with r_textureBits 0.
- Made the mips of detail textures fade to gray - this combats the distance pattern artifact.  Enabled by default.
- Restored r_drawSun (another feature cut out of Q3A) and added r_flareSun to it, to draw a sun flare above the level.  Has some issues with some skyboxes (two suns effect) so it's disabled by default.
- High resolution dynamic lights (256x256), disabled by default.
- Backported texture resampling from Darkplaces (r_resample). Should lead to less jaggy artifacts on some badly sized textures (non-power-of-2) and will be used by default.  This should not be confused with r_simpleMipmaps 0 which also has lerping but to a lower resolution.  This might also lead to better image quality on Riva128, but this has not been tested.   Here's an idea though - have a scaler algorithm for lightmaps like HQ4X?


A picture of the sun right now, which needs its brightness and size tuned automatically in the code
« Last Edit: March 12, 2014, 01:46:59 PM by fromhell » Logged

asking when OA3 will be done won't get OA3 done.
Progress of OA3 currently occurs behind closed doors alone

I do not provide technical support either.

new code development on github
fromhell
Administrator
GET A LIFE!
**********

Cakes 35
Posts: 14520



WWW
« Reply #30 on: March 14, 2014, 05:26:57 AM »

More engine hackery, flare edition

- custom flare textures finally supported
- r_flareQuality 0 now offers a very fast but rougher flare.

Compare the framerate differences between these oa_pvomit shots Tongue
Logged

asking when OA3 will be done won't get OA3 done.
Progress of OA3 currently occurs behind closed doors alone

I do not provide technical support either.

new code development on github
Neon_Knight
In the year 3000
***

Cakes 49
Posts: 3775


Trickster God.


« Reply #31 on: March 14, 2014, 06:10:16 AM »

Too much cool and awesome stuff... I can't wait to try that.
Eyecandy which doesn't cause framerate slowdowns is a good thing in my book.
Logged


"Detailed" is nice, but if it gets in the way of clarity, it ceases being a nice addition and becomes a problem. - TVT
Want to contribute? Read this.
fromhell
Administrator
GET A LIFE!
**********

Cakes 35
Posts: 14520



WWW
« Reply #32 on: March 14, 2014, 07:07:44 PM »

I'm also working on r_textureBits 8 support.

It would only benefit Voodoo users (paletted texture = huge vram savings, possibly allowing picmip 1 or even 0) and the software GL ICDs that support the paletted texture extension.   It also looks a bit retro as a side effect.  Also it's a long deprecated extension most cards since the Riva TNT don't support.

PCX textures will get their palettes used (hopefully), otherwise everything else is converted to gfx/palette.lmp.


Also I fixed r_monolightmaps/greyscale so oa_thor doesn't have black lights for the blue lights


EDIT: I got paletted alpha working, also, and on an actual Voodoo2 it uses the extension and utilizes it Cheesy

EDIT2: I benchmarked. Definitely is faster with r_picmip 0 in just Quake3. q3dm11 has a particular spot where texture thrashing happens and takes a nose-dive to 5fps on 16-bit textures. Forcing 15bit makes no difference. 12-bit textures are also not an option.  8-bit textures? No problem! No thrashing happens and the framerate is still okay.

« Last Edit: March 16, 2014, 05:05:45 PM by fromhell » Logged

asking when OA3 will be done won't get OA3 done.
Progress of OA3 currently occurs behind closed doors alone

I do not provide technical support either.

new code development on github
Gig
In the year 3000
***

Cakes 45
Posts: 4394


WWW
« Reply #33 on: March 17, 2014, 01:47:15 AM »

Whoa! Fromhell, I like how much you are working on OA recently! This stuff sounds very interesting!  Smiley
Logged

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
Suicizer
Member
Member
*

Cakes 2
Posts: 402


WWW
« Reply #34 on: March 17, 2014, 02:32:23 PM »

Whoa! Fromhell, I like how much you are working on OA recently! This stuff sounds very interesting!  Smiley

With all respect towards Fromhell; Too bad it's voodoo-only improvements; some late '90s graphics cards while we are living in 2014 currently =S.

Has there been any poll of which graphics card players use on this forum?
Logged

I'm good at everything but can't do anything...
fromhell
Administrator
GET A LIFE!
**********

Cakes 35
Posts: 14520



WWW
« Reply #35 on: March 17, 2014, 03:19:58 PM »

It's not Voodoo-only.  Some onboard video chipsets and software rasterizing ICDs can make use of paletted textures.  The way I've implemented it has been successful in function on a Voodoo2 so far.   Another point of this is to strive and improve performance on that BSD platform where entitlement of software rasterization seem to be the norm.... kind of a bizarro world.  It's an extra step towards this on the list:

- Software rendering via a touched up TinyGL that supports at the least vertex coloring and alpha test


Although modern graphics are a nice thing, taking advantage of modern functions like per pixel lighting would require another art overhaul that is impossible to achieve in the current circumstances - and renderer_opengl2 doesn't look that great with OA right now... and polishing by HDR, SSAO, new lighting methods does not solve the stiff animation art consistency problem
« Last Edit: March 17, 2014, 03:26:46 PM by fromhell » Logged

asking when OA3 will be done won't get OA3 done.
Progress of OA3 currently occurs behind closed doors alone

I do not provide technical support either.

new code development on github
Suicizer
Member
Member
*

Cakes 2
Posts: 402


WWW
« Reply #36 on: March 19, 2014, 05:26:33 AM »

It's not Voodoo-only.  Some onboard video chipsets and software rasterizing ICDs can make use of paletted textures.  The way I've implemented it has been successful in function on a Voodoo2 so far.   Another point of this is to strive and improve performance on that BSD platform where entitlement of software rasterization seem to be the norm.... kind of a bizarro world.  It's an extra step towards this on the list:

- Software rendering via a touched up TinyGL that supports at the least vertex coloring and alpha test


Although modern graphics are a nice thing, taking advantage of modern functions like per pixel lighting would require another art overhaul that is impossible to achieve in the current circumstances - and renderer_opengl2 doesn't look that great with OA right now... and polishing by HDR, SSAO, new lighting methods does not solve the stiff animation art consistency problem

Perhaps there is a stiff animation art consistency problem, but is that even related to this topic; a wishlist aimed on the game engine of OA?
I think not...
Logged

I'm good at everything but can't do anything...
fromhell
Administrator
GET A LIFE!
**********

Cakes 35
Posts: 14520



WWW
« Reply #37 on: March 19, 2014, 05:01:20 PM »

Considering most of the OA complaints are about performance and darkness, permanently going the path of XReaL for the minority of graphics snobbery without any legacy options are not high on my interests.  I don't know how many times I have to repeat this.

If I want to make something look good, I do that in a modeling and texturing art program.  If I want to make a whole game look good, i'd want to equalize the effort I do on assets.   I do not believe bumpmapping and shadowmaps would take ease on production efforts because that would to me, equate to 'polishing a turd'.   The reason why OA supports GLSL are for postprocessing (for supporting gamma by shader and the like) and minor map texture improvements, not a whole renderer reworking.

Do you remember Sauerbraten when it was still using MD2?  Modern graphics couldn't cover 1998 anachronisms well.
« Last Edit: March 19, 2014, 05:08:47 PM by fromhell » Logged

asking when OA3 will be done won't get OA3 done.
Progress of OA3 currently occurs behind closed doors alone

I do not provide technical support either.

new code development on github
Suicizer
Member
Member
*

Cakes 2
Posts: 402


WWW
« Reply #38 on: March 20, 2014, 02:44:37 AM »

Considering most of the OA complaints are about performance and darkness, permanently going the path of XReaL for the minority of graphics snobbery without any legacy options are not high on my interests.  I don't know how many times I have to repeat this.

If I want to make something look good, I do that in a modeling and texturing art program.  If I want to make a whole game look good, i'd want to equalize the effort I do on assets.   I do not believe bumpmapping and shadowmaps would take ease on production efforts because that would to me, equate to 'polishing a turd'.   The reason why OA supports GLSL are for postprocessing (for supporting gamma by shader and the like) and minor map texture improvements, not a whole renderer reworking.

Do you remember Sauerbraten when it was still using MD2?  Modern graphics couldn't cover 1998 anachronisms well.

It still uses the .md2 format for monsters in SinglePlayer mode (the reason for that is as that mode is stable and eihrul isn't planning to improve it due that).
Then again, I get what you mean...
Logged

I'm good at everything but can't do anything...
fromhell
Administrator
GET A LIFE!
**********

Cakes 35
Posts: 14520



WWW
« Reply #39 on: March 26, 2014, 06:39:42 PM »

I do want some stylized phong-based shading however, as an option...


like this:
Logged

asking when OA3 will be done won't get OA3 done.
Progress of OA3 currently occurs behind closed doors alone

I do not provide technical support either.

new code development on github
Gig
In the year 3000
***

Cakes 45
Posts: 4394


WWW
« Reply #40 on: March 27, 2014, 02:30:06 AM »

Not sure if it's an engine or gamecode thing...

Another seemingly unfinished Q3 feature which may be useful is the nearbox. Q3 shader manual mentions it probably does not work.

Quote from: For who does not know what it is.
skyParms <farbox> <cloudheight> <nearbox>
Farbox is the name of a series of six images (with apposite names) which draw the "sky" around the map.
Cloudheight value determines how much  cloud layers (drawn front of the farbox) will be "curved".
Nearbox in theory should work similarily to farbox, but being drawn in front of the cloud layers (nearer to the player). This would allow to make the clouds disappear behind distant mountains, and maybe (here I'm just guessing) this may also help reducing the hall-of-mirrors effect looking the sky from upside down. The parameter is usually omitted with "-".

Yesterday I did a try, and it looks like nothing happened.
I tried with both alpha-channelled .tga (which I can guess may be needed to achieve the "clouds hidden behind mountains" effect) and plain .jpg (I can guess in theory this should just cover that whole face of the skybox with that side's nearbox texture, isn't it?), and it did change nothing. Maybe it's my fault and I did something wrong, but I have the impression this doesn't work in Q3A (FAKK2 shader manual hints it as experimental).
Maybe some GPL'd iD Tech 3-derived game already completed its support?
Logged

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
Hitchhiker
Member


Cakes 11
Posts: 181


« Reply #41 on: March 27, 2014, 01:34:19 PM »

I do want some stylized phong-based shading however, as an option...

Actually glsl implementation has something like this (though I have never used or tried it). It was part of the original ZEQ2 glsl and for its usage you would need to read the glsl related post on the ZEQ2 site. With glsl lights it should be possible to have the specular component.
Logged
fromhell
Administrator
GET A LIFE!
**********

Cakes 35
Posts: 14520



WWW
« Reply #42 on: March 27, 2014, 03:15:41 PM »

Huh! I never knew.  Though if OA implements it optionally I'd also have to make a special cel skin for each texture which would only have flat colors, and a rather soft normal map by it, with only hard edges on clothes, and these cel textures would only be loaded when the renderer is in cel mode...


Also, i've made a few cvars:

r_slowness
r_slowness_cpu
r_slowness_gpu

which should roughly fake the speed of the MHz you set CPU to (based on p2 performance, default is 300)  GPU is much looser and is based on mhz (like 93-96 for Voodoo2) and also scales the slowness by screen resolution.  There's even a synthetic bottleneck.  It won't be practical for play, but may be useful for content production (like for realizing the critical performance choke points in the maps - oa_spirit3 has a BAD one thanks to the portal in the water, for example)

What it really  is, is just a sleep command called every finished backend buffer determined by a bunch of division on numbers of vertices, indices, surface count, etc...  It's much better for nailing low performance that com_maxfps can't reach.

Currently no way to simulate texture thrashing (r_slowness_vram would be such a cvar, notably R_SumOfUsedImages does not function at all - and would have been great for doing this)

<nearbox>
No, that could possibly regress all the sky shaders if implemented.  I think Spearmint implemented this (in it's unrealistic weird prospect of trying to support the closed games) but that's GPLv3.  Nearbox is not in JO, JA, RTCW or ET.

Besides, a mapmodel operating in a q3map2 skyroom would be more lively and possibly vram saving Smiley
« Last Edit: March 27, 2014, 03:38:40 PM by fromhell » Logged

asking when OA3 will be done won't get OA3 done.
Progress of OA3 currently occurs behind closed doors alone

I do not provide technical support either.

new code development on github
Gig
In the year 3000
***

Cakes 45
Posts: 4394


WWW
« Reply #43 on: March 28, 2014, 02:15:07 AM »

No, that could possibly regress all the sky shaders if implemented.
Not sure about the reason for this... Considering nearbox does not currently work (setting it seems to change nothing), I can guess almost all existing shaders should already have "-" (no nearbox) at its parameter... However, one might also create a cvar to enable/disable the feature.
However, if that's hard, patience.  Smiley

Maybe I may give a try to this "skyroom" thing: is that the same thing named as "skyportal" here?
I may need to find some more detailed guide about that... first googling results aren't satisfactory...
« Last Edit: March 28, 2014, 02:23:45 AM by Gig » Logged

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
fromhell
Administrator
GET A LIFE!
**********

Cakes 35
Posts: 14520



WWW
« Reply #44 on: April 03, 2014, 06:55:09 PM »

What about a placeholder shader depending on what path the texture gets loaded and not found?

like for textures/ shaders, (EXCEPTION BEING sfx and fx) there could be some sort of rock texture.

for models/ there could be a metal chromey placeholder texture.

for gfx, the yellow :] face could return Tongue


EDIT: I have just implemented this and it is working as intended.

« Last Edit: April 03, 2014, 10:25:44 PM by fromhell » Logged

asking when OA3 will be done won't get OA3 done.
Progress of OA3 currently occurs behind closed doors alone

I do not provide technical support either.

new code development on github
Gig
In the year 3000
***

Cakes 45
Posts: 4394


WWW
« Reply #45 on: April 04, 2014, 12:55:50 AM »

Fromhell, you are a genious!  Smiley
However, it should be possible to enable and disable this feature (even from the GUI, maybe?), otherwise checking for missing textures would become quite hard! I don't know if that should be enabled or disabled by default...
Logged

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
Akom74
Member


Cakes 9
Posts: 906


Q3A/OA Mapper


WWW
« Reply #46 on: April 04, 2014, 08:26:45 AM »

Fromhell, you are a genious!  Smiley

I agree  Grin Grin

There is a PK3 to download this feature ?
It will be implemented in OA3 or something else (community mappack maybe) ?

Wink
Logged

...sorry for my English, i'm Italian... Tongue



Neon_Knight
In the year 3000
***

Cakes 49
Posts: 3775


Trickster God.


« Reply #47 on: April 04, 2014, 01:32:42 PM »

Well, that would solve a lot of issues! But how does that work?
Logged


"Detailed" is nice, but if it gets in the way of clarity, it ceases being a nice addition and becomes a problem. - TVT
Want to contribute? Read this.
Gig
In the year 3000
***

Cakes 45
Posts: 4394


WWW
« Reply #48 on: April 04, 2014, 02:44:51 PM »

I can guess it's an engine tweak which will be shipped with updated binaries (however may also require a new pk3 if the shaders/textures invoked are new).
Logged

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
fromhell
Administrator
GET A LIFE!
**********

Cakes 35
Posts: 14520



WWW
« Reply #49 on: April 04, 2014, 04:59:20 PM »

It's an engine tweak yes, and relies on two shaders for now:

placeholder_texture
placeholder_model

but I should expand this to include six more

placeholder_sky - which would be a blue sky, unless I can somehow color it from the map's ambient light somehow
placeholder_fog - which would be a generic gray fog.  Fogs are textures too
placeholder_water - which should be water.
placeholder_lava - which should be lava.
placeholder_slime - which should be slime.
placeholder_metal - which is a generic metal texutre - for metal surfaces


And for map/texture development one could just make nicely specific grid textures for these explaining what they represent, instead of placeholders intending to blend.

and finally if the engine can't find these shaders, it won't use them and will go back to the white square.  I've already committed this feature to the Git btw.
« Last Edit: April 04, 2014, 05:04:23 PM by fromhell » Logged

asking when OA3 will be done won't get OA3 done.
Progress of OA3 currently occurs behind closed doors alone

I do not provide technical support either.

new code development on github
Pages: 1 [2] 3
  Print  
 
Jump to: