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

    • nbohr1more

      Was checking out old translation packs and decided to fire up TDM 1.07. Rightful Property with sub-20 FPS areas yay! ( same areas run at 180FPS with cranked eye candy on 2.12 )
      · 2 replies
    • 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
       
      · 3 replies
    • 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
×
×
  • Create New...