Jump to content
The Dark Mod Forums

TDM - What Are You Working On?


Mr Mike

Recommended Posts

@Andrey: Nice models, but shouldn't they be lower poly for ingame?

 

You have to "cap the shadow volume", apparently. I'm not familiar enough with the algorithm to know exactly what that means.

I thought that had to with eliminating the errors that occur at infinity. :blink:

 

There is an interesting NVIDIA paper on how it can be done here:

 

Depth peeling.

 

Given the complexity and the number of extra rendering passes required, it is not difficult to see why id didn't bother to implement it for Doom 3.

And that's pretty much the only way to actually use the depth buffer to depth-sort triangles--that is, without somehow modifying how the depth buffer behaves (one vague idea I have concerns using the depth buffer like a hash map). What concerns me is that apparently the only way to have order-independent transparency without dedicated hardware is to use an O(n) algorithm. (Carmack's next engine gets around it by not using hardware transparency at all.) Carmack was right when he demanded that video card manufacturers come up with a hardware solution for order-independent transparency.

 

BTW, thanks for the article. An O(n) algorithm is almost entirely useless in real-time graphics, but the article did a great job of explaining why OpenGL doesn't make the task any easier.

Link to comment
Share on other sites

  • Replies 175
  • Created
  • Last Reply

Top Posters In This Topic

Okay, well I'll show what I've been doing.

 

It's not anything I'd want to release as an FM, I'm just playing around with ideas and styles at the moment. Dome III is something I'd release though, probably I'll have to go back and touch it up a lot later.

 

This is the map with the broken down warehouse, the snow and the factory, the funny concrete building, and now a tower block thing.

 

I've learnt it's easy to make something that runs like a dog though: the stairwell, with all those railing models and shadows and lights runs really badly. In fact anywhere with lots of models, even lots of desks in an office, runs badly.

 

Anyhow, here we go:

 

buildingkx5.th.jpg

hallkj1.th.jpg

officend2.th.jpg

stairwelljs0.th.jpg

worlddominationdk8.th.jpg

Link to comment
Share on other sites

Translucent surfaces ARE tagged as such, and are rendered only after all opaque surfaces have been drawn.

But... WTF? Wouldn't that mean if you had a pot plant on a window sill in front of you, and the pot plant was on the same side of the glass as you were, then the glass would be drawn over the top of it??

 

The glass in Doom 3 looked okay, what's going on there?

 

 

Oh wait, I get what Doom 3 does from the image - only multiple translucent surfaces over the top of each other have problems. But that quote still can't be entirely true or else the glass would get drawn over the top of the potplant. Does it know to stencil out anything in front of it somehow?

Link to comment
Share on other sites

Alpha-tested surfaces aren't translucent (they're opaque, they just happen to have holes where they're not filled in), so a potted plant will look ok.

 

But in the case of multiple translucent surfaces... Well, you can see that effect well with the gas arrow and the window in this screenshot. The gas arrow is getting rendered first, despite that it's in front of the window.

 

In any case, this is the main reason I'm not in support of translucent windows for TDM. D3 was able to get away with it by keeping their window effects subtle enough that you couldn't tell which was getting rendered on top. (or in the cases where the effects weren't subtle, you were usually looking out on mars, so they could put the windows in a category that got rendered earlier so things like plasma shots would get correctly rendered over them) With TDM where you have windows that aren't very transparent, and city areas where there's likely to be windows that will be rendered over eachother, problems become very noticable.

Link to comment
Share on other sites

But that quote still can't be entirely true or else the glass would get drawn over the top of the potplant. Does it know to stencil out anything in front of it somehow?

Yes, it does know how to do that (though it's not called a stencil - there is such a thing as an OpenGL stencil, but it's typically used for other things, like shadows). OpenGL has a thing called a "depth buffer" which is used for this.

 

When you draw a polygon, OpenGL calculates a number of attributes for each pixel. The most obvious one is the colour of the pixel, which varies depending on texturing, lighting, etc. This value is written to the colour buffer. It also calculates a "depth" of the pixel, which is the distance from the camera to the pixel. This value is written to the depth buffer.

 

So if you draw some polygons close to the camera (the potplant in your example), the depth buffer gets filled with small values. If you then draw another polygon behind it (e.g. the window) then, before writing the pixel's colour to the colour buffer, OpenGL compares the depth value for the window to the depth value in the buffer. If the buffer's value is smaller (closer to the camera) than the new polygon's value, then it doesn't draw that pixel.

 

The end result of this is that you can draw polygons in any order you like and it will still look okay; except for transparent polygons, which present additional difficulties.

My games | Public Service Announcement: TDM is not set in the Thief universe. The city in which it takes place is not the City from Thief. The player character is not called Garrett. Any person who contradicts these facts will be subjected to disapproving stares.
Link to comment
Share on other sites

I like the screenshots, Bob.

 

The only comment is maybe the ceiling panels; if they are going to have that amount of apparent depth for the flat texture, it might look better if the texture were higher up (further from the PC's fov), so the actual flatness isn't so obvious and deflate the effect a little, or maybe use panels without as much apparent depth (i.e., shallower) if you want to keep the lower ceiling. But that's just a minor quib since even that probably looks good enough in-game. Generally speaking I really like the look and feel of it all. Good work.

 

As an aside to the on-going discussion, I was working in dromed recently making a Romanesque fountain on the side of a wall, with jetted water particle beams up-front, and rows of ivy objects against the back wall. I was annoyed that the up-front jets of water, except from one narrow angle out of the way, kept getting rendered *behind* the walls of ivy, although the brushwork from which they spurt was in front. Everything else can look great (by dromed standards), but as soon as something like that happens it manages to shatter the whole area because it's such an egregious violation of expectations.

Edited by demagogue

What do you see when you turn out the light? I can't tell you but I know that it's mine.

Link to comment
Share on other sites

  • 3 weeks later...
I thought Doom3 already had lip-syncing, complete with phonemes. :huh:
That might be quake 4 you're thinking of.

 

The information in this section is specific to Quake 4.

 

Along with the universal decls Quake 4 provides the following:

 

* effect

* guide

* lipsync

* materialtype

* playback

http://www.modwiki.net/wiki/Declarations

Link to comment
Share on other sites

Not yet, might still be a few kinks to work out. You'll likely get to see it sometime though.

There are no kinks as far as I know. There may still be some sounds that haven't had lipsync disabled yet even though they should (humming and stuff), but I think Springheel fixed at least some of them.

 

There's no video purely because nobody's thought of making one. :) It's nothing special to look at, really. Just a nice touch that I thought I'd add, since it took hardly any time to implement.

My games | Public Service Announcement: TDM is not set in the Thief universe. The city in which it takes place is not the City from Thief. The player character is not called Garrett. Any person who contradicts these facts will be subjected to disapproving stares.
Link to comment
Share on other sites

@Gildoran and Crispy - thanks for your informative replies (posts #106 and #107). The forum doesn't tell me about all new posts for some reason, if I use the "view new posts" page. I think it clears after midnight or something like that. So I only just discovered your posts this time around.

Link to comment
Share on other sites

Was just wondering whether it'd look in any way realistic, that's all.

 

I wouldn't say that, no. Their mouth just flaps up and down, no phonemes or anything--looks basically the same as TDS (except they won't be flapping their mouth while humming or whistling). But it looks a lot *more* realistic than them not opening their mouth at all, which is how they previously worked. :)

Link to comment
Share on other sites

Yeah, if someone wants to make a lot of phoneme animations and work with open-source software that takes an audio sample and converts it into phonemes and timings, you're welcome to do it. We don't have enough manpower to work on something so low priority right now, the objective was just to get their mouths moving when talking.

Link to comment
Share on other sites

Yeah, it's not very realistic. But I think it's reasonable provided you don't look too closely, and it does save us a heap of time compared to any of the better approaches (that involve phonemes).

My games | Public Service Announcement: TDM is not set in the Thief universe. The city in which it takes place is not the City from Thief. The player character is not called Garrett. Any person who contradicts these facts will be subjected to disapproving stares.
Link to comment
Share on other sites

Guildwars is VERY popular and they don't even have mouth movements at all (maybe they already do, but last time I played it a year ago they didn't). Just a closed mouth all the time. Considering that, lipsyncing might be a classical nice-to-have, but definitely not a need-to-have.

Gerhard

Link to comment
Share on other sites

Method 1: model the spine and each individual string - the result ranges from somewhat expensive (using flat rectangle strings) to very expensive (actual round strings). Very wasteful!

Method 2: model the spine. In the area where the strings are, place one or few flat polys, and skin those polys with a texture of painted strings with transparency between them. You can now have all the detail you want in there at no cost beyond that of 2-4 polygons. I assume there's a way to make that area not cast shadows at all, so the difference would be almost imperceptible.

 

Another example (I didn't make this): http://www.tjoff.com/jens/darkmod/gallery/images/tree4.jpg

The leaves are actually just textures with transparent areas, painted onto few low poly sheets within the branches.

 

Finally, ASE is, I believe, 3D Studio's native format. But you can import and export to ASE with Blender, so no need for 3DS.

 

It's always done this way, wether it's the leaves of plants or the wheel of a bike etc. You guys know this stuff, this isn't something particular to this mod, every game uses this approach (mostly, I'm sure that there are exceptions) as it's the best way to make good detail vegetation, and still get good FPS.

I had a few of these in the works when I was making my textures, but I lost all those when I did my format. I have the raw pics still (about 8 weeks of work lost), but none of the textuers and the material file is gone. (It was about 30 pages long)

 

But anyways, you guys this is looking incredible, keep up the good work.

I always assumed I'd taste like boot leather.

 

Link to comment
Share on other sites

Yeah, it's not very realistic. But I think it's reasonable provided you don't look too closely, and it does save us a heap of time compared to any of the better approaches (that involve phonemes).

 

I agree. It's simply unnecessary to put so much effort into this just for lipsynching. It was fun though to see correct lip synching with selfrecorded audio samples in "The Movies"... :)

 

@bob_arctor: Looking good, but I think you would do a lot better if you created a more detailed static mesh for the balcony. I know it means more work, but creating stuff like that from bsp looks way too much like Half Life one... ;) Please don't take this as an insult, but rather as constructive critizism.... :)

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
       
      · 2 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
    • 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...