Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dentommod: Screen artifact with mussleflashes for guns #36

Closed
Eonfge opened this issue Jul 29, 2024 · 10 comments
Closed

Dentommod: Screen artifact with mussleflashes for guns #36

Eonfge opened this issue Jul 29, 2024 · 10 comments

Comments

@Eonfge
Copy link

Eonfge commented Jul 29, 2024

artifects-mussleflash.mp4

Details

Not sure what is happening here. Made a short video to show you the effect.

Version

1.5.4 RC2, which you can find here: flathub/org.dhewm3.Dhewm3#26

Basic details

config.spec	    game00.pk4	game03.pk4   pak000.pk4  pak003.pk4  pak006.pk4  savegames
consolehistory.dat  game01.pk4	gamex86.dll  pak001.pk4  pak004.pk4  pak007.pk4  screenshots
DoomConfig.cfg	    game02.pk4	maps	     pak002.pk4  pak005.pk4  pak008.pk4  STEAM_doomkey
dhewm3 1.5.4rc2.1305 linux-x86_64 Jul 28 2024 13:37:42 using SDL v2.28.5
SDL video driver: wayland
Logging console output to /home/kevin/.var/app/org.dhewm3.Dhewm3/data/dhewm3/dhewm3log.txt
terminal support enabled ( use +set in_tty 0 to disable )
pid: 4
64000 MB System Memory
found interface lo - loopback
found interface wlp0s20f3 - 192.168.1.172/255.255.255.0
doom using MMX & SSE & SSE2 for SIMD processing
enabling Flush-To-Zero mode
enabling Denormals-Are-Zero mode
----- Initializing File System -----
Loaded pk4 /home/kevin/.var/app/org.dhewm3.Dhewm3/data/dhewm3/base/pak000.pk4 with checksum 0x28d208f1
Loaded pk4 /home/kevin/.var/app/org.dhewm3.Dhewm3/data/dhewm3/base/pak001.pk4 with checksum 0x40244be0
Loaded pk4 /home/kevin/.var/app/org.dhewm3.Dhewm3/data/dhewm3/base/pak002.pk4 with checksum 0xc51ecdcd
Loaded pk4 /home/kevin/.var/app/org.dhewm3.Dhewm3/data/dhewm3/base/pak003.pk4 with checksum 0xcd79d028
Loaded pk4 /home/kevin/.var/app/org.dhewm3.Dhewm3/data/dhewm3/base/pak004.pk4 with checksum 0x765e4f8b
Loaded pk4 /home/kevin/.var/app/org.dhewm3.Dhewm3/data/dhewm3/base/pak005.pk4 with checksum 0x8ffc3621
Loaded pk4 /home/kevin/.var/app/org.dhewm3.Dhewm3/data/dhewm3/base/pak006.pk4 with checksum 0x95b65ab
Loaded pk4 /home/kevin/.var/app/org.dhewm3.Dhewm3/data/dhewm3/base/pak007.pk4 with checksum 0x666bdb3c
Loaded pk4 /home/kevin/.var/app/org.dhewm3.Dhewm3/data/dhewm3/base/pak008.pk4 with checksum 0x23ae5993
Current search path:
/home/kevin/.var/app/org.dhewm3.Dhewm3/config/dhewm3/base
/home/kevin/.var/app/org.dhewm3.Dhewm3/data/dhewm3/base
/home/kevin/.var/app/org.dhewm3.Dhewm3/data/dhewm3/base/pak008.pk4 (3 files)
/home/kevin/.var/app/org.dhewm3.Dhewm3/data/dhewm3/base/pak007.pk4 (38 files)
/home/kevin/.var/app/org.dhewm3.Dhewm3/data/dhewm3/base/pak006.pk4 (48 files)
/home/kevin/.var/app/org.dhewm3.Dhewm3/data/dhewm3/base/pak005.pk4 (63 files)
/home/kevin/.var/app/org.dhewm3.Dhewm3/data/dhewm3/base/pak004.pk4 (5137 files)
/home/kevin/.var/app/org.dhewm3.Dhewm3/data/dhewm3/base/pak003.pk4 (4676 files)
/home/kevin/.var/app/org.dhewm3.Dhewm3/data/dhewm3/base/pak002.pk4 (6120 files)
/home/kevin/.var/app/org.dhewm3.Dhewm3/data/dhewm3/base/pak001.pk4 (8972 files)
/home/kevin/.var/app/org.dhewm3.Dhewm3/data/dhewm3/base/pak000.pk4 (2698 files)
/app/share/dhewm3/base
Addon pk4s:
----- Initializing Decls -----
5206 strings read from strings/english.lang
Couldn't open journal files
execing editor.cfg
execing default.cfg
execing dhewm.cfg
couldn't exec autoexec.cfg
5206 strings read from strings/english.lang
----- Initializing OpenAL -----
Setup OpenAL device and context
OpenAL: found device 'Built-in Audio Analog Stereo'
OpenAL: found extension for HRTF
OpenAL: found extensions for resetting disconnected devices
OpenAL: found extension to control output-limiter
OpenAL vendor: OpenAL Community
OpenAL renderer: OpenAL Soft
OpenAL version: 1.1 ALSOFT 1.23.1
OpenAL: found EFX extension
OpenAL: found 256 hardware voices
----- Initializing OpenGL -----
Initializing OpenGL subsystem
Will create a fullscreen-window with resolution 1920x1080 (r_mode = 15)
SDL detected 2 displays: 
 0: 1920x1080 at (0, 0) to (1920, 1080)
 1: 1920x1080 at (1920, 0) to (3840, 1080)
Will use display 0 because mouse cursor is at (0, 0).
Got a fullscreen window with resolution 1920 x 1080
Requested 8 color bits per chan, 8 alpha 24 depth, 8 stencil
Got 8 stencil bits, 24 depth bits, color bits: r8 g8 b8 a8
Initializing ImGui
Detected keyboard layout as "english"
OpenGL vendor: Intel
OpenGL renderer: Mesa Intel(R) Graphics (RPL-P)
OpenGL version: 4.6 (Compatibility Profile) Mesa 24.1.3 (git-0c49f54c76)
...using GL_ARB_multitexture
...using GL_ARB_texture_env_combine
...using GL_ARB_texture_cube_map
...using GL_ARB_texture_env_dot3
...using GL_ARB_texture_env_add
...using GL_ARB_texture_non_power_of_two
...using GL_ARB_texture_compression
...using GL_EXT_texture_compression_s3tc
...using GL_EXT_texture_filter_anisotropic
   maxTextureAnisotropy: 16
...using GL_1.4_texture_lod_bias
X..GL_EXT_shared_texture_palette not found
...using GL_EXT_texture3D
...using GL_EXT_stencil_wrap
...using GL_EXT_stencil_two_side
...got GL2.0+ glStencilOpSeparate()
...using GL_ARB_vertex_buffer_object
...using GL_ARB_vertex_program
...using GL_ARB_fragment_program
...using EXT_depth_bounds_test
...found GL_ARB_debug_output, but not using it (r_glDebugContext is not set)
ARB2 renderer: Available.
----- R_ReloadARBPrograms -----
glprogs/test.vfp
glprogs/test.vfp
glprogs/interaction.vfp
glprogs/interaction.vfp
glprogs/bumpyEnvironment.vfp
glprogs/bumpyEnvironment.vfp
glprogs/ambientLight.vfp
glprogs/ambientLight.vfp
glprogs/shadow.vp
glprogs/environment.vfp
glprogs/environment.vfp
glprogs/arbVP_glasswarp.txt: File not found
glprogs/arbFP_glasswarp.txt: File not found
<internal> soft_particle.vfp
<internal> soft_particle.vfp
using ARB_vertex_buffer_object memory
using ARB2 renderSystem
Will apply r_gamma and r_brightness in shaders (r_gammaInShader 1)
loaded game library '/app/lib/dhewm3/base.so'.
game using MMX & SSE & SSE2 for SIMD processing
Flush-To-Zero mode is already enabled
Denormals-Are-Zero mode is already enabled
----- Initializing Game -----
gamename: baseDOOM-1
gamedate: Jul 28 2024
Initializing event system
...473 event definitions
Initializing class hierarchy
...142 classes, 764368 bytes for event callbacks
Initializing scripts
Compiled 'script/doom_main.script': 274 ms
----- Compile stats -----
Memory usage:
     Strings: 79, 10288 bytes
  Statements: 67875, 2172000 bytes
   Functions: 2109, 318020 bytes
   Variables: 170888 bytes
    Mem used: 3937768 bytes
 Static data: 3558984 bytes
   Allocated: 5109956 bytes
 Thread size: 14056 bytes
...6 aas types

Spelling

I recommend mussles with brown bear. Gives them a slightly sweet flavour, with a lot of texture.

@DanielGibson
Copy link
Member

DanielGibson commented Jul 29, 2024

Interesting, this seems to be a side-effect of the soft particles, at least on my system r_useSoftParticles 0 fixes it, does that work for you as well?

I wonder if other mods have the same issue

@Eonfge
Copy link
Author

Eonfge commented Jul 29, 2024

Interesting, this seems to be a side-effect of the soft particles, at least on my system r_useSoftParticles 0 fixes it, does that work for you as well?

Can confirm that disabling soft particles fixes the problem. I also tried to reproduce it with Sikkmod, but it did not happen with that mod.

DanielGibson added a commit to dhewm/dhewm3 that referenced this issue Jul 29, 2024
or at least if weaponDepthHack is set.

That somehow broke muzzle flash effects in Dentonmod, see
dhewm/dhewm3-sdk#36
@DanielGibson
Copy link
Member

I just pushed a commit to dhewm3 master which should fix this

@Eonfge
Copy link
Author

Eonfge commented Jul 29, 2024

I tried it... but...

dentonmod-artifacts-muzzleflash.mp4

So 2 out of 3 weapons now look fine, but the pistol is still giving trouble. Could it be the shell-casing?

@DanielGibson
Copy link
Member

DanielGibson commented Jul 29, 2024

more likely it doesn't have the weapon-hack flag set for some reason

I guess I need to debug this deeper instead of just disabling soft particles for weapons (or actually view entities that have the weapon hack flag set)

@DanielGibson
Copy link
Member

Ok, I think this time I really fixed it :)

@DanielGibson
Copy link
Member

DanielGibson commented Jul 30, 2024

@nbohr1more: Not sure if your new (GLSL-based) softparticle code already fixes this, but if not you may want something similar to dhewm/dhewm3@cef1178 in TDM so particle materials can use translate, scale, rotate etc

(https://github.com/stgatilov/darkmod_src/blob/trunk/glprogs/stages/surface_passes/soft_particle.vert.glsl looks like you just pass the texture coordinate through instead of multiplying them with a texture matrix, like it's done in the interaction shader)

@nbohr1more
Copy link

I think that's all handled by Uniforms:

https://github.com/stgatilov/darkmod_src/blob/trunk/renderer/backend/stages/SurfacePassesStage.cpp

but I'll ping stgatilov to be sure

@DanielGibson
Copy link
Member

It doesn't look like the soft particle vertex shader uses any uniforms to transform the texture coordinates, so unless it's somehow done in the fragment shader instead (which wouldn't make much sense as far as I can tell) I don't think it's handled

@nbohr1more
Copy link

It seems that you are right. We only support a subset of properties for soft-particles.

stgatilov has indicated that most of our particles are physically rotated or translated rather than using any texture translation features and that the current feature set was probably intentionally set by SteveL for performance reasons.

I guess we'd need to see an example of a particle ( other than muzzle flash ) that needs these other attributes to achieve it's intended effect before adding any back.

The interesting thing about Doom 3's particle system is that it's built very much like a LOD model manager. If you were clever enough you could use all the fading and distance arguments to manage scene geometry LOD style. So that would be a Doom 3 vanilla use-case that would need the additional properties... but in TDM we have a separate LOD system so it guess that would be redundant ( though maybe we should look at merging the systems more... ).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants