Jump to content
The Dark Mod Forums

TDM Engine Development Page


zergrush

Recommended Posts

Latest SVN still in good shape except this stove in Penny Dreadful 2: All the way Up:

 

post-3763-0-76499300-1534477151_thumb.jpg

 

This is producing some sort of shadow geometry cracks.

 

Any chance there was a missed case for model geometry in your precision change?

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...)

Link to comment
Share on other sites

I'll let Duzenko chime in there.

 

As I recall, there was this strange stub function on the game side for activating the cvar which is why

I was having a little trouble with some of the fix mechanisms for initialization operations like reloadImages.

 

In my mind r_postprocess shouldn't be doing anything on the game side and should work like all other render cvars.

 

I guess the some of this game side design stems from the use of r_postprocess with effects like influence vision (scripts)

for when the player is cursed, etc. They wanted modders to have more SDK access to these effects

so they moved some rendering control to the game side but it really doesn't belong there in Doom 3 GPL branches.

I can't comprehend the commit 7620.

It's full of formatting changes like this.

-		basePath = Mem_CopyString(buff.c_str());
+		basePath = Mem_CopyString( buff.c_str() );

Any attempt to find actual changes is going to turn to a waste of time.

When I did a bulk formatting change by mistake in 2016 I got a slap on the wrist from @grayman.

Link to comment
Share on other sites

There are gaps in the shadows, because there are gaps in the model. The shadow mesh just needs to be tweaked.

 

Is that a custom model? I've checked and neither furnace_round model has any kind of shadowmesh.

Link to comment
Share on other sites

If it has an opener, than its one I made which is a clone of the original you made.

 

If it's not a custom model, then the problem is not related to a shadowmesh, since neither of them have shadowmeshes. (Neither really need them either, as they're already low poly.)

 

What makes you conclude the "shadow geometry cracks" NB mentions are due to the model itself?

Link to comment
Share on other sites

Yes, I should be clear.

 

The shadow behavior is new to the latest SVN revision that Rev made.

It's not just light bleeding out, it's a strange flickering pattern of lines extending from the model.

 

That said, if the model design is more susceptible to errors due to "high precision" vertex coordinates,

it may be worthwhile to get a better version anyway.

 

I'll recheck tonight as Duzenko just made some further changes (but they are unlikely to affect this).

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...)

Link to comment
Share on other sites

Ok upped my recent changes.

Fixed an attempt at minimizing scissoring in tr_render.cpp.

Non FBO DepthCopy and FrameCopy refined a bit.

Now using c++11 nullptr in places where NULL was used, In C++ NULL is not a pointer to 0 but an octal integer 0 in C NULL is a pointer to 0 but that does not apply to C++.

Fixed a function which was shadowed by another function of the same name.

Made some changes to make lightdepthbounds more uniform, cut down on having to use the same cvar all over to one.

Added lightdepthbounds to the GLSL renderers stencil shadow part also since it was missing there, was this intentional ?. (no adverse effects and i tested it extensively so id reckon no, but who knows).

Reordered a few ugly externs, i hope the readability is a bit better now :).

Can you explain why this code was deleted from FB_ToggleShadow in svn rev 7618?

	if(r_shadows.GetInteger() == 1)
	if ( on ) {
		if ( r_softShadowsQuality.GetInteger() < 0 && shadowOn )
			shadowResolution = r_softShadowsQuality.GetInteger() / -100.;
		else
			shadowResolution = 1;
		qglViewport( 0, 0, glConfig.vidWidth * shadowResolution * r_fboResolution.GetFloat(), glConfig.vidHeight * shadowResolution * r_fboResolution.GetFloat() );
		FB_ApplyScissor();
	} else {
		if( primaryOn )
			qglViewport( 0, 0, glConfig.vidWidth * r_fboResolution.GetFloat(), glConfig.vidHeight * r_fboResolution.GetFloat() );
		else
			qglViewport( 0, 0, glConfig.vidWidth, glConfig.vidHeight );
		FB_ApplyScissor();
	}
Link to comment
Share on other sites

@revelator: Just a quick remark, I don't think it's necessary that you flag every place you replaced a 0 or NULL with nullptr with a comment. In my personal opinion, comments should be written to help developers understand the *current* state of the code, not its history. The reason being that in most instances, developers won't know the history and the comment is thus fairly useless to them, and also code evolves fairly quickly and these comments are then often left untouched and completely outdated. Commit messages are the right place to comment the history, imho :)

 

(Also, your comments are somewhat misleading. They make it sound as if the replaced 0 or NULL were a bug in the code that needed to be addressed. That is not the case. It is safe and well defined to assign 0 to a pointer. It's just no longer best practice, because the nullptr keyword introduced with C++11 has the advantage that it isn't ambiguous and can thus prevent potential subtle bugs if function signatures change or are overloaded.)

Link to comment
Share on other sites

Duzenko, was that codepiece added rently? It might have gotten deleted by mistanke if My changes where uploaded just as the commit went in. It was certainly not something i intended to delte from code, not sure what happened there.

Using 0 is fine in most case, i believe i Even left in a comment about that in the copyrender code, im sorry if it sounded like it was an error, the comment was in regards to a previous comment in that particular place, and was ment to only correct a misconception there.

The reason i changed to nullptr was that certain recently added code was allready using it instead of plain NULL, so it was just to keep things a bit more consistant.

Link to comment
Share on other sites

Im home again tomorrow, should i revert adding lightdepthbounds to the glsl stencil code?, or did the accidentally deleted codeoiece duzenko mentioned maybe cause this.

Yes, please restore the FB scissor thing and make sure that r_softShadowsQuality -NN has effect (pixelated shadows).

It was added back in July.

Link to comment
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.


  • Recent Status Updates

    • taffernicus

      i am so euphoric to see new FMs keep coming out and I am keen to try it out in my leisure time, then suddenly my PC is spouting a couple of S.M.A.R.T errors...
      tbf i cannot afford myself to miss my network emulator image file&progress, important ebooks, hyper-v checkpoint & hyper-v export and the precious thief & TDM gamesaves. Don't fall yourself into & lay your hands on crappy SSD
       
      · 1 reply
    • OrbWeaver

      Does anyone actually use the Normalise button in the Surface inspector? Even after looking at the code I'm not quite sure what it's for.
      · 7 replies
    • Ansome

      Turns out my 15th anniversary mission idea has already been done once or twice before! I've been beaten to the punch once again, but I suppose that's to be expected when there's over 170 FMs out there, eh? I'm not complaining though, I love learning new tricks and taking inspiration from past FMs. Best of luck on your own fan missions!
      · 4 replies
    • The Black Arrow

      I wanna play Doom 3, but fhDoom has much better features than dhewm3, yet fhDoom is old, outdated and probably not supported. Damn!
      Makes me think that TDM engine for Doom 3 itself would actually be perfect.
      · 6 replies
    • Petike the Taffer

      Maybe a bit of advice ? In the FM series I'm preparing, the two main characters have the given names Toby and Agnes (it's the protagonist and deuteragonist, respectively), I've been toying with the idea of giving them family names as well, since many of the FM series have named protagonists who have surnames. Toby's from a family who were usually farriers, though he eventually wound up working as a cobbler (this serves as a daylight "front" for his night time thieving). Would it make sense if the man's popularly accepted family name was Farrier ? It's an existing, though less common English surname, and it directly refers to the profession practiced by his relatives. Your suggestions ?
      · 9 replies
×
×
  • Create New...