Patches #1146

Merge in xonotic/xonotic-data.pk3dir.git: mirceakitsune/player_cubemaps

Added by git-manager over 2 years ago. Updated over 1 year ago.

Status:Unlikely or UnfixableStart date:04/05/2012
Priority:NormalDue date:
Assignee:tZork% Done:

100%

Category:-
Target version:-

Description

Purpose of the branch:

Cubemap reflections for players

Repository: xonotic/xonotic-data.pk3dir.git
Commit: 1869a1534078ca2c6fa31f1cde65391790ed165f
Branch: mirceakitsune/player_cubemaps

Merge commands:

cd data/xonotic-data.pk3dir
git checkout master
git reset --hard origin/master
git pull && git diff '1869a1534078ca2c6fa31f1cde65391790ed165f'..'origin/mirceakitsune/player_cubemaps'

# please check that the diff you just saw did not contain anything complex that
# needs a new merge request, and review these changes

git merge --no-ff 'origin/mirceakitsune/player_cubemaps'

# please make sure this merge worked, and if not, fix merge conflicts and git
# commit BEFORE the next command
#
# also, THIS is the point to do final pre-merge testing
#
# use git reset --hard origin/master to bail out

git push && git push --delete origin 'mirceakitsune/player_cubemaps'

Diffstat:

 scripts/player_erebus.shader          |   26 ++++++++++++++++++++++++++
 scripts/player_gak.shader             |   17 +++++++++++++++++
 scripts/player_ignis.shader           |   17 +++++++++++++++++
 scripts/player_nyx.shader             |    9 +++++++++
 scripts/player_pyria.shader           |   22 ++++++++++++++++++++++
 scripts/player_seraphina.shader       |    8 ++++++++
 scripts/player_umbra.shader           |    9 +++++++++
 scripts/pyria.shader                  |   13 -------------
 textures/erebus_reflect.tga           |  Bin 0 -> 4194348 bytes
 textures/erebusfullbright_reflect.tga |  Bin 0 -> 4194348 bytes
 textures/gak_reflect.tga              |  Bin 0 -> 4194348 bytes
 textures/gakarmor_reflect.tga         |  Bin 0 -> 1048620 bytes
 textures/ignis_reflect.tga            |  Bin 0 -> 4194348 bytes
 textures/ignishead_reflect.tga        |  Bin 0 -> 4194348 bytes
 textures/nyx_reflect.tga              |  Bin 0 -> 4194348 bytes
 textures/pyria_reflect.jpg            |  Bin 0 -> 529739 bytes
 textures/seraphina_reflect.jpg        |  Bin 0 -> 534399 bytes
 textures/shadowhead_reflect.tga       |  Bin 0 -> 1048620 bytes
 textures/umbra_reflect.jpg            |  Bin 0 -> 745393 bytes
 19 files changed, 108 insertions(+), 13 deletions(-)

Revision log:

commit 1869a1534078ca2c6fa31f1cde65391790ed165f
Author: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>

    Ah, didn't know Nyx had her own texture

commit ccae69f9b3bdca882ee1990c213bdc457dfb445c
Author: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>

    Separate Seraphina into her own shader

commit 86741cfb0727e167bd640d0676b4735b4dfe987e
Author: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>

    Average reflections a bit on the erebus

commit f4ad539ba93c1286815d752daf027d0d620794d4
Author: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>

    Umbra isn't cool enough, he gets less reflections

commit 2eac8be781ed92923bdbd46fedac24dfe17f37b6
Author: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>

    Stronger reflections for Erebus, nigga got metal armor

commit 97bbda5875c96797239df9ed0782234de521add4
Author: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>

    Also make the gak a little less reflective

commit 6c1644144ec6a656a77253220b71f45fe65dbfb8
Author: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>

    Lastly, give the umbra some reflectiveness as well

commit dc83ad6fdc2f470099390edf037f02ce0726e285
Author: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>

    Less reflectiveness for Pyria and Ignis, and don't forget Seraphina

commit 270195285d64fdcbd54f990cfb265b1b6fece77b
Author: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>

    Reflections for Ignis and Pyria. Only armor, no skin or hair

commit cdfa0fd88ad6c7f204742e92832acfe9b0f228b8
Author: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>

    Rename pyria.shader to player_pyria.shader to match the new files (I really think this sort of thing should be done more often to keep things organized)

commit ada859e797bdca78db21605632adbd4abf35cf43
Author: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>

    Also the gakermor texture

commit 0eba9ef63264cf99b85d34d93082861d49fc89ae
Author: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>

    Cubemap the gak's armor

commit 848658b0390ab43aad937a50a591a3af929f4447
Author: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>

    Fix erebus shader

commit 722476b384d17a115ff25d27384715f7a453315f
Author: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>

    Shader file for erebus

commit 7e015dc8199bbea5cc335a995bbf0576ed50b19b
Author: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Commit: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>

    Let's try this with the Erebus first, and make some reflect textures

User agreed to the GPLv2+.

Diff:

diff --git a/scripts/player_erebus.shader b/scripts/player_erebus.shader
new file mode 100644
index 0000000..1499ff1
--- /dev/null
+++ b/scripts/player_erebus.shader
@@ -0,0 +1,26 @@
+erebus
+{
+    dpreflectcube cubemaps/default/sky
+     {
+        map textures/erebus.tga
+        rgbgen lightingDiffuse
+    }
+}
+
+erebusfullbright
+{
+    dpreflectcube cubemaps/default/sky
+     {
+        map textures/erebusfullbright.tga
+        rgbgen lightingDiffuse
+    }
+}
+
+shadowhead
+{
+    dpreflectcube cubemaps/default/sky
+     {
+        map textures/shadowhead.tga
+        rgbgen lightingDiffuse
+    }
+}
diff --git a/scripts/player_gak.shader b/scripts/player_gak.shader
new file mode 100644
index 0000000..858a758
--- /dev/null
+++ b/scripts/player_gak.shader
@@ -0,0 +1,17 @@
+gak
+{
+    dpreflectcube cubemaps/default/sky
+     {
+        map textures/gak.tga
+        rgbgen lightingDiffuse
+    }
+}
+
+gakarmor
+{
+    dpreflectcube cubemaps/default/sky
+     {
+        map textures/gakarmor.tga
+        rgbgen lightingDiffuse
+    }
+}
diff --git a/scripts/player_ignis.shader b/scripts/player_ignis.shader
new file mode 100644
index 0000000..5a14f12
--- /dev/null
+++ b/scripts/player_ignis.shader
@@ -0,0 +1,17 @@
+ignis
+{
+    dpreflectcube cubemaps/default/sky
+     {
+        map textures/ignis.tga
+        rgbgen lightingDiffuse
+    }
+}
+
+ignishead
+{
+    dpreflectcube cubemaps/default/sky
+     {
+        map textures/ignishead.tga
+        rgbgen lightingDiffuse
+    }
+}
diff --git a/scripts/player_nyx.shader b/scripts/player_nyx.shader
new file mode 100644
index 0000000..0f21b09
--- /dev/null
+++ b/scripts/player_nyx.shader
@@ -0,0 +1,9 @@
+nyx
+{
+    dpreflectcube cubemaps/default/sky
+     {
+        map textures/nyx.tga
+        rgbgen lightingDiffuse
+    }
+}
+
diff --git a/scripts/player_pyria.shader b/scripts/player_pyria.shader
new file mode 100644
index 0000000..49a54c6
--- /dev/null
+++ b/scripts/player_pyria.shader
@@ -0,0 +1,22 @@
+pyria
+{
+    dpreflectcube cubemaps/default/sky
+     {
+        map textures/pyria.tga
+        rgbgen lightingDiffuse
+    }
+}
+
+pyriahair
+{
+
+    surfaceparm trans
+    cull none
+
+    {
+        map textures/pyriahair
+        alphaFunc GE128
+        blendFunc blend
+        rgbGen identity
+    }
+}
diff --git a/scripts/player_seraphina.shader b/scripts/player_seraphina.shader
new file mode 100644
index 0000000..af5062d
--- /dev/null
+++ b/scripts/player_seraphina.shader
@@ -0,0 +1,8 @@
+seraphina
+{
+    dpreflectcube cubemaps/default/sky
+     {
+        map textures/seraphina.tga
+        rgbgen lightingDiffuse
+    }
+}
diff --git a/scripts/player_umbra.shader b/scripts/player_umbra.shader
new file mode 100644
index 0000000..3f4b5ed
--- /dev/null
+++ b/scripts/player_umbra.shader
@@ -0,0 +1,9 @@
+umbra
+{
+    dpreflectcube cubemaps/default/sky
+     {
+        map textures/umbra.tga
+        rgbgen lightingDiffuse
+    }
+}
+
diff --git a/scripts/pyria.shader b/scripts/pyria.shader
deleted file mode 100644
index 8cc0385..0000000
--- a/scripts/pyria.shader
+++ /dev/null
@@ -1,13 +0,0 @@
-pyriahair
-{
-
-    surfaceparm trans
-    cull none
-
-    {
-        map textures/pyriahair
-        alphaFunc GE128
-        blendFunc blend
-        rgbGen identity
-    }
-}
diff --git a/textures/erebus_reflect.tga b/textures/erebus_reflect.tga
new file mode 100644
index 0000000..6aaee2b
Binary files /dev/null and b/textures/erebus_reflect.tga differ
diff --git a/textures/erebusfullbright_reflect.tga b/textures/erebusfullbright_reflect.tga
new file mode 100644
index 0000000..44424da
Binary files /dev/null and b/textures/erebusfullbright_reflect.tga differ
diff --git a/textures/gak_reflect.tga b/textures/gak_reflect.tga
new file mode 100644
index 0000000..53a8192
Binary files /dev/null and b/textures/gak_reflect.tga differ
diff --git a/textures/gakarmor_reflect.tga b/textures/gakarmor_reflect.tga
new file mode 100644
index 0000000..eabdae6
Binary files /dev/null and b/textures/gakarmor_reflect.tga differ
diff --git a/textures/ignis_reflect.tga b/textures/ignis_reflect.tga
new file mode 100644
index 0000000..2c1bb1b
Binary files /dev/null and b/textures/ignis_reflect.tga differ
diff --git a/textures/ignishead_reflect.tga b/textures/ignishead_reflect.tga
new file mode 100644
index 0000000..ccef941
Binary files /dev/null and b/textures/ignishead_reflect.tga differ
diff --git a/textures/nyx_reflect.tga b/textures/nyx_reflect.tga
new file mode 100644
index 0000000..2c1ba97
Binary files /dev/null and b/textures/nyx_reflect.tga differ
diff --git a/textures/pyria_reflect.jpg b/textures/pyria_reflect.jpg
new file mode 100644
index 0000000..ef3b6eb
Binary files /dev/null and b/textures/pyria_reflect.jpg differ
diff --git a/textures/seraphina_reflect.jpg b/textures/seraphina_reflect.jpg
new file mode 100644
index 0000000..ec3e01c
Binary files /dev/null and b/textures/seraphina_reflect.jpg differ
diff --git a/textures/shadowhead_reflect.tga b/textures/shadowhead_reflect.tga
new file mode 100644
index 0000000..f968cc6
Binary files /dev/null and b/textures/shadowhead_reflect.tga differ
diff --git a/textures/umbra_reflect.jpg b/textures/umbra_reflect.jpg
new file mode 100644
index 0000000..8e05dc4
Binary files /dev/null and b/textures/umbra_reflect.jpg differ

History

#2 Updated by divVerent over 2 years ago

  • Status changed from New to Feedback
  • Assignee set to nifrek

Do we want this, nifrek?

#3 Updated by nifrek over 2 years ago

Sorry for delay, have not logged in for a while.

Yes I'd say we want this, but I'd like to have a closer look (only had a quick one for each model). For the most part I think it looks great, especially on dark parts (usually shirt texture), looks fantastic even. But on _pants texture it seems to affect colors a lot, they get desaturated a lot under strong light. Maybe it just needs to be toned down a bit on some models. At the very least, glow parts shouldn't have cubemaps on top (especially MegaErebus, should ONLY be on shirt texture and nowhere else), it turns almost completely grey/white when close to a light source.

I'd like to check each model under different lighting situations to get a better idea. Is there a way to disable/enable cubemaps from console? That would be much faster to compare each model with/without cubemaps without having to take tons of screenshots, switching branch and taking more screenshots ;)

#4 Updated by MirceaKitsune over 2 years ago

nifrek: I tweaked some of the reflection textures earlier. I only removed cubemaps from glowing areas, since they indeed don't represent parts that should be reflective (with small exceptions like eyes). I didn't modify the glow on pants however, since those represent shiny metal and lessening reflections there would certainly look wrong and break the nice effect on most players. I can't say it looks desaturated... if anything more like metallic paint which is really cool :) But please try the latest branch and see if that's fine overall.

#5 Updated by merlijn about 2 years ago

  • Status changed from Feedback to In Progress
  • Assignee changed from nifrek to tZork

tZork, can you pick up this merge request?

#6 Updated by tZork almost 2 years ago

  • Status changed from In Progress to Rejected

I don't like how this wash out texture detail in the mid/bright regions.

Examples:
Standard: http://i.imgur.com/oerrC.jpg
This: http://i.imgur.com/DrIEn.jpg

Standard: http://i.imgur.com/qyNKt.jpg
This: http://i.imgur.com/vMbYT.jpg

There seem to be overall less light dynamic and just more 'light goo' on the models, so sorry i cant accept this as-is. Please test your data with most models, in many light conditions and, most importantly, compare versus master in the same spot.

#7 Updated by MirceaKitsune almost 2 years ago

I never got that effect on my computer. Anyway, that seems to be a problem with the way cubemaps are blended. I don't like how they're blended in many other cases too, but IIRC there's no way to change blendfunc on dpreflectcube. Perhaps someone can fix this in DP if I'm correct, then this could be improved.

#8 Updated by tZork almost 2 years ago

Aa i said always check multiple light conditions. And also, always with a clean config (eg launch with "-usedir adirthatdontexsist"). Perhaps the blend mode can be tweaked, but really; for this to look good the cubemap's need to be (at least) per-map. Anything less and it has to be blurred and neutralized so much that it looses the reason for using a cubemap to begin with.

#9 Updated by MirceaKitsune almost 2 years ago

  • Status changed from Rejected to Feedback
  • % Done changed from 0 to 100

I looked into this and tested the characters in several light conditions with several colors. You were right that the cubemaps were too strong, and specifically for Ignis / Seraphina the colors looked washed out. This was especially visible on bright player colors which is why I didn't notice it initially.

I decreased intensity on all player reflections, and some more on the Ignis body texture. They all seem to look fine now. Please re-test the latest version of the branch and post a screenshot if colors looked washed out in any other circumstance. Here's how it looks for me with the new changes:

http://pics.nexuizninjaz.com/images/okcbv60aayp1nz344ya.jpg
http://pics.nexuizninjaz.com/images/rml8q2dksccfkedzjw7.jpg
http://pics.nexuizninjaz.com/images/puw5xao69dtszks8sebi.jpg
http://pics.nexuizninjaz.com/images/a8e94qiidf83m4mplfx9.jpg

#10 Updated by MirceaKitsune over 1 year ago

Bump. As I said last time, I decreased the intensity of most reflections and tested in several lighting conditions. Colors should no longer appear washed out and reflections should be more discrete. Can this be merged now, are other changes needed?

#11 Updated by Samual over 1 year ago

  • Status changed from Feedback to Unlikely or Unfixable

#12 Updated by MirceaKitsune over 1 year ago

No, this is not unlikely or unfixable. I'm only waiting for tZork or someone else to review them once again and merge them.

Also available in: Atom PDF