Jump to content
The Dark Mod Forums
Sign in to follow this  
cabalistic

I'm working on a VR version - early alpha

Recommended Posts

I haven't been following this discussion very closely so perhaps this isn't terribly useful but reading the posts about ARB and alpha reminded me of an issue I encountered when creating a color grading shader. I noticed that after a texture lookup, red color data was being stored in the alpha channel. You had to swizzle the channels around to correct it like this ...

# do lookup
TEX low, lut_coord, texture[1], 2D;
TEX high, lut_coord_high, texture[1], 2D;
MOV low.rgba, low.agbr;
MOV high.rgba, high.agbr;
I never really looked into why. I figured I was doing something wrong but it could be a bug in the engine.

 

This is probably to conserve quality when the image is compressed. The red channel is smaller than the alpha channel.

  • Like 1

Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Share this post


Link to post
Share on other sites

Download this: https://github.com/fholger/thedarkmodvr/releases/download/v0.1.3/thedarkmodvr_0.1.3.zip

 

Extract the contents into your TDM folder. Overwrite any necessary files. Launch from the new .exe. Use your monitor for viewing the main menu and any readables. The HUD & light gem are also difficult to view in VR. Being familiar with the controls is a real help. M+KB only as far as I can tell. One of the most immersive gaming experiences available, full stop.

Share this post


Link to post
Share on other sites

1) Backup your TheDarkMod.exe and gamex86.dll

2) Unzip the files in this release:

https://github.com/fholger/thedarkmodvr/releases/download/v0.1.3/thedarkmodvr_0.1.3.zip

3) Overwrite the files in your darkmod folder

4) Create an autoexec.cfg and place seta vr_enable 1 in it.

 

https://github.com/fholger/thedarkmodvr


Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Share this post


Link to post
Share on other sites

Yeah... no :) As much as I do not like Nvidia, unfortunately I always found good reasons to still go with them (so far).

 

I had a quick look at the shader. One thing that surprised me is in line 33 in the normalize call, you are using wyz. Shouldn't that be xyz, or less confusingly, rgb?

I fixed the crash on NVidia but shadows appear to be broken.

Since this is nvidia only issue could you check if the fence sync causes it? I don't have a quick access to NV hardware (and AMD and intel are both fine)

  • Like 1

Share this post


Link to post
Share on other sites

This is not awesome. Give a dummy a direct link to VR. None of these links are intuitive or obvious.

Please keep in mind that this is nowhere near ready for prime time. It is more an impression of what might be rather than something you will enjoy playing. Also note that development is currently on hold because the engine has some severe performance bottleneck which need to be addressed before VR can really perform adequately.

 

 

I fixed the crash on NVidia but shadows appear to be broken.

Since this is nvidia only issue could you check if the fence sync causes it? I don't have a quick access to NV hardware (and AMD and intel are both fine)

I just tested it. Shadows seem fine, but there is some general flickering going on, which seems to be related to lighting. The scene is also darker with GLSL than with arb2. The flickering does not go away if I disable smp, so is not related to the fence sync.

Has anyone gotten a graphical debugger to work with the Dark Mod? Those could really help track down these kinds of issues. But unfortunately, all I've tried (CodeXL, nSight, RenderDoc) don't work for one reason or another, but mostly because they don't seem to support the old profiles that the Dark Mod is using...

  • Like 1

Share this post


Link to post
Share on other sites

nSight must work after you comment out the colorPointer call in the new glsl code.

I spent a lot of time this year to get rid of the deprecated stuff with the exact goal to make TDM compatible with NSight.

No idea how to use it though in this case.

 

Yes, I meant the flickering problem that only happens on NVidia + glsl + enhanced interaction.

It looks like it tries to use wrong memory as vertex data to me.

  • Like 1

Share this post


Link to post
Share on other sites

Hm, I'm not sure, the vertex data seems fine. To me it looks more like the lighting or coloring is flickering. Perhaps some issue with shader parameters or precision. I'll try and see if I can narrow it down.

  • Like 1

Share this post


Link to post
Share on other sites

Hm, I'm not sure, the vertex data seems fine. To me it looks more like the lighting or coloring is flickering. Perhaps some issue with shader parameters or precision. I'll try and see if I can narrow it down.

I can't help but suspect that colorpointer call. May have a chance to check that tomorrow.

Share this post


Link to post
Share on other sites

Well, this is definitely a shader issue. Here is what I found so far:

 

  • the simpleInteraction in interaction.fs is fine and does not show flickering.
  • If you remove the R1*R2 addition to color in advancedInteraction, the flickering disappears
  • But if you output color just after the R1*R2 addition, there is no flicker in there.
  • If you remove var_Color.rgb from the final color calculation, the flickering disappears.
  • But if you output just var_Color.rgb, there is no flickering either.

What?! Ultimately, a simple multiplication of two flicker-free color values produces flickering. Either this is a driver bug, or I just don't get it.

  • Like 2

Share this post


Link to post
Share on other sites

Please keep in mind that this is nowhere near ready for prime time. It is more an impression of what might be rather than something you will enjoy playing. Also note that development is currently on hold because the engine has some severe performance bottleneck which need to be addressed before VR can really perform adequately.

I have to agree with this, generally speaking. At present, I couldn't recommend this to anyone who is unfamiliar with TDM, especially if you're learning the controls. Being unable to see them could be a challenge. However, an experienced TDM player can get on quite nicely. I've played through a few missions and I'm finding it to be truly spectacular. I don't know that I'll ever want to go back to using a monitor. It's significantly better than using vorpx in it's current state.

Edited by BuckleBean

Share this post


Link to post
Share on other sites

None of the instructions worked. I get it in the headset but not a VR image.

As stated, the menu and other GUI elements are not adapted for VR, so you have to use your monitor to load a mission. Only there you will have a VR view.

Share this post


Link to post
Share on other sites

Well, this is definitely a shader issue. Here is what I found so far:

 

  • the simpleInteraction in interaction.fs is fine and does not show flickering.
  • If you remove the R1*R2 addition to color in advancedInteraction, the flickering disappears
  • But if you output color just after the R1*R2 addition, there is no flicker in there.
  • If you remove var_Color.rgb from the final color calculation, the flickering disappears.
  • But if you output just var_Color.rgb, there is no flickering either.

What?! Ultimately, a simple multiplication of two flicker-free color values produces flickering. Either this is a driver bug, or I just don't get it.

Fixed the color flickering. The glsl mode is ready for testing.

Share this post


Link to post
Share on other sites

Can confirm the color flickering is gone. Well done :) Not that I really understand the fix, given my previous observations.

 

The GLSL output is noticably darker, is that intentional? I find it a bit too dark, makes it difficult to see anything in unlit areas.

 

There is another flickering issue. In the training mission, if you head out to the archery range, the floor flickers with white color.

  • Like 1

Share this post


Link to post
Share on other sites

 

The GLSL output is noticably darker, is that intentional? I find it a bit too dark, makes it difficult to see anything in unlit areas.

No, I have been trying to port the interaction shader from ARB assembly, but there's still room for improvement. Can you send your screenshots with the difference?

Is the ambient option set to simple or enhanced?

I took the ambient shader from Pat Raynor's project and did not edit it yet.

  • Like 1

Share this post


Link to post
Share on other sites

 

There is another flickering issue. In the training mission, if you head out to the archery range, the floor flickers with white color.

You mean this room? Does not flicker to me on NV

Did you update both source code and shaders in assets svn?

post-3508-0-51149400-1503752335_thumb.png

  • Like 1

Share this post


Link to post
Share on other sites

@duzenko: Yes, assets are up to date. I also spotted flickering in the central training room just when I went through one of the doors. Might be related to portal change, or could just be coincidence.

 

Here's a screenshot of the flickering in the archery yard:

post-38052-0-08940400-1503763834_thumb.jpg

 

Comparison of the lighting. ARB2:

post-38052-0-98920800-1503763832_thumb.jpg

GLSL:

post-38052-0-92250300-1503763834_thumb.jpg

  • Like 1

Share this post


Link to post
Share on other sites

I'll test tonight. I think I did notice a brightness difference but I'll double check. If you didn't modify Raynor's ambient that may account for the difference.

The test right now would be simple ambient vs simple ambient since the enhanced versions don't match.

  • Like 1

Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...