Jump to content
The Dark Mod Forums

Where Tds Went Wrong


bob_arctor

Recommended Posts

All I know is that its checking every light in the level, that is a big problem IMO because as the level size increases, so does the load on the lightgem code.

 

Do you even read what is answered to your postings or do you simply answere to what you think was written??? I already said it a hundred times that there is no code that checks every light anymore because THIS CODE IS NO LONGER IN USE!!!

 

I'm sure Spar will find a way around that.

 

That's the proof. You are apparently an automatic answering machine, that went wild, while it's owner went out for a prolonged vacation (or he was driven nuts by you). :)

 

I ALREADY FOUND A WAY AROUND THAT WHICH IS THE CURRENT IMPLEMENTATION!!!

Gerhard

Link to comment
Share on other sites

  • Replies 85
  • Created
  • Last Reply

Top Posters In This Topic

The new lightgem method is based on a snapshot image (actually two) of a testmodel in place of the player, so we can see how light falls on the model and set the lightgem accordingly. It's very accurate, but the tradeoff is that it has some impact on performance. Until Id releases the renderer source though, it seems to be the best we can do. You can use whatever animated textures you want and this lightgem method will pick it up.

Link to comment
Share on other sites

Can someone explain in really simple terms what the system is now and whether that's good or bad?

Does that mean you can't have animated lights in TDM or something?

 

The current lightgem works flawless and will recognize ANY kind of light, regardless where it comes from. Animated light, particle effects, ambient, etc..

Gerhard

Link to comment
Share on other sites

The new lightgem method is based on a snapshot image (actually two) of a testmodel in place of the player, so we can see how light falls on the model and set the lightgem accordingly. It's very accurate, but the tradeoff is that it has some impact on performance. Until Id releases the renderer source though, it seems to be the best we can do. You can use whatever animated textures you want and this lightgem method will pick it up.

 

It is actually a very good design - using the game's own render code to process animated textures rather than having to re-implement everything and attempt to match what the game is doing.

 

The drawback is in the implementation, due to an underlying limitation of the game code which only allows the rendered image to be passed back over a local socket (which is not a high-performance way of doing things). It doesn't seem to present any problems so far though, in fact for me the lightgem feels a lot more responsive in TDM than in any of the Thief games.

Link to comment
Share on other sites

The drawback is in the implementation, due to an underlying limitation of the game code which only allows the rendered image to be passed back over a local socket (which is not a high-performance way of doing things).

 

Performancewise this is not really a big problem, because the socket is pretty fast. The major problem is that the image has to be retrieved from the gfx card memory, which is awfully slow, and has the biggest performance impact. In the first version I was writing the image to the disk and the speed was the same as before. But if you don't get the image from teh gfx card, the framerate will jump up drastically. I'm not 100% sure if teh rendercode will really help that much, because it depends on how much calculation is done on the CPU and how much on the GPU. If the access to the rendercode shows that the required information is calculated inside the GPU it can not be improved much.

Gerhard

Link to comment
Share on other sites

What resolution are you using for the captured image? Presumably it can be quite small if all it is doing is calculating a light level.

 

Perhaps a tweakable option could be provided to adjust the resolution for lower-performance users?

Link to comment
Share on other sites

I'm using 16x16. But the resolution doesn't help that much. Of course ther is a difference wether I use 16x16 or 1024x1024, but when I developed it I played aorund with it a lot, and for example it doesn't matter wether you use 16x16 or 128x128. I don't know if you know about VGA programming, but frmo my days when I looked into this I knew that retreiving data from the card always was slow, because of the interface design. There is a huge bottleneck there, and the AGP port improved this, but only in one direction. GFX cards a re designed to push data into it fast, not getting it out of it.

Gerhard

Link to comment
Share on other sites

Lol, if you had have told me that the current implementation was not checking all lights in the first place, we could have saved a lot of time. As far as I knew, the current implementation was still checking all lights, and I kept saying this from the start. So all you had to do was update me :)

 

After a re-read, it seems you were talking to me about the old light gem code the entire time. No wonder you had me thinking this was still the case.

Link to comment
Share on other sites

After a re-read, it seems you were talking to me about the old light gem code the entire time. No wonder you had me thinking this was still the case.

 

I mentioned that this is about the OLD lightgem code, and you asked me how it worked. So I answered it, but it seems you were thinking that this code is still in place, despite me saying several times that this is not the case anymore. :)

Gerhard

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

    • 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.
      · 6 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
    • nbohr1more

      Looks like the "Reverse April Fools" releases were too well hidden. Darkfate still hasn't acknowledge all the new releases. Did you play any of the new April Fools missions?
      · 5 replies
×
×
  • Create New...