Jump to content
The Dark Mod Forums

Johannes' box


Johannes Burock

Recommended Posts

How I said its only a little mission...a short street and some lanes with open houses and a little bigger mansion for the obj.

 

Actually that's perfect.

 

Especially if (as MD suggests) it'll mean your mission gets finished. And it'll run with a lot more people's satisfaction. And it'll be digestible and delectable -- other installments can come if it need be a "campaign"; and it won't result in fatigue/burnout for the players as well; none of us really wants to play for 13 hours in a row anyway, do we? We're going to get out after 2-3 hours at most anyway, no?

 

So I think it's entirely beneficial for the platform, the FMAs and the players to maybe see less giant monolithic (monomissionic) EPICs...

Link to comment
Share on other sites

Wastes a tiny bit of memory (two entities instead of one) and rendering speed - the GPU does one pass for each material for each light for each entity. So if you have 2 lights shining onto two func_statics with one materials each, you get 2 * 2 * 1 = 4 drawcalls 4(passes). With both in one func_static, you get 2 * 1 * 1 = 2 drawcalls. So this saves you 2 drawcalls to draw essentially the same amount of triangles. The more lighs shine onto it, the worse multiple entities get.

 

But don''t combine everything into one entity - things that cross visportals aren't good (because they are visible in both rooms at once, so cannot get culled that good). Basically combine the beams from one house, and the beams from the other house into two func_statics.

 

 

Thats not right at all i think. If you have two brushes and change them seperate into func_static and after this let them overlap in all directions they also have 2x6 per cube x2 for both = 24 triang..

If you now use both as one entity and they overlap in the same way theyr surface is cut in much more tris than in the first way.

 

Do you know which way kill more perf. : more triang. (and thats in parts a diff of factor 2-3) or more drawcalls?

 

Johannes

Link to comment
Share on other sites

Thats not right at all i think. If you have two brushes and change them seperate into func_static and after this let them overlap in all directions they also have 2x6 per cube x2 for both = 24 triang..

If you now use both as one entity and they overlap in the same way theyr surface is cut in much more tris than in the first way.

 

Yes, you are right, if they are crossing each other, they will cut each other into many (usually small) tris. In this case I'd advocate using two func_statics, one with the horizontal beams and one with the vertical beams.

 

Do you know which way kill more perf. : more triang. (and thats in parts a diff of factor 2-3) or more drawcalls?

 

Usually drawcalls are what kill performance (because the "per light" makes it expensive if you f.i. shine your light onto a func_static, it gets rendered one extra time. If this are 10 small beams each as extra func_statics, suddenly the engine does 10 drawcalls to render everything only once more). Havign a few 10000 tris in one func_static is no problem, however.

 

However, excessive triangulation isn't good either, so I'd avoid it. I guess it might come down to experimentation, because the numbers can vary alot (even on the same hardware).

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Link to comment
Share on other sites

Yes, you are right, if they are crossing each other, they will cut each other into many (usually small) tris. In this case I'd advocate using two func_statics, one with the horizontal beams and one with the vertical beams.

 

 

 

This is NOT right actually.

 

If they are world spawn they will cut each other into pieces. But I'm pretty sure func_static brushes don't cut each other up. (or is it 2 func_statics won't cut each other?)

 

patches will cut up world spawn either way though.

Dark is the sway that mows like a harvest

Link to comment
Share on other sites

This is NOT right actually.

 

If they are world spawn they will cut each other into pieces. But I'm pretty sure func_static brushes don't cut each other up. (or is it 2 func_statics won't cut each other?)

 

Two func_statics won't cut each other up, but one func_static will cut itself up. (I think there was a way to tell the engine "do not cut this face" but I forgot what it was.

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Link to comment
Share on other sites

It's usually the 'discrete' keyword, part of the material def.

 

That said, If you're using groups of func_statics it's not really a problem at all if you group wisely. The simple ideas are :

 

  • If you have a group primitives (brush/patch) which is acting as detail element, it should be a func_static (i.e a complex skirting board)
  • If the group of brushes contain elements which intersect other elements in the group, try to split them into smaller subgroups. i.e : intersecting roof beams, choose a primary direction, subtract the other direction and group them as two groups (horizontal/vertical).
  • Group of brushes: remember to caulk hidden faces
  • Group of patches: group by proximity/type and watch for overdraw otherwise don't worry too much.
  • Make sure that your groups do not cross visportals (worldspawn small sections of the group which can intersect)
  • IF you have a complex/large scene, cut the groups into slightly smaller subgroups where lights will most often be.

 

From my memory, patches that are worldspawn will be culled to visible areas, but seldom used to construct extra tris(i.e wall->patch). Static patch groups do not cull on themselves either.

Link to comment
Share on other sites

ok, thanks for reply.

I also use two entitys for the beams per building. But when i test it in my map there was no real difference between one and more entities. But how ever two entities sounds good and bring in some cases some fps and thats better then nothing.

 

And another question:

 

is it possible to give a modell aproperta so that its reflects lights ? I want the little mushrooms to do so...there are different colours but if i create a f e green light over them they are only nearly white or max a bit green...

 

Johannes

Link to comment
Share on other sites

Group of brushes: remember to caulk hidden faces

 

Didn't we recently establish that this had little or no effect?

Link to comment
Share on other sites

Didn't we recently establish that this had little or no effect?

 

While it's seldom important, there's often cases to be made that the faces will be lit in some way and as such result in extra work; if that's the case... well yeah I guess you don't need to waste the time :)

 

I think the convo regarding if it was needed was more in terms of the crazy folks that caulk the external void facing walls of rooms and such, and it got a bit confused in there... but tbh I cant really remember :unsure:

Link to comment
Share on other sites

I always got the impression that having tons of needless caulk is better than having a leak, so if you can't spot a leak on a dime then caulk away as the performance hit for caulk is minimal? :unsure:

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

so what i know now:

 

- i caulk whatever i see and is unseen in game...if its usefull...who cares

- i cant get a green overlay to the mushrooms...the colour option doesnt work...and to change the skin in a model editor...no way at this time...

 

Slapdash!

 

for this way of leakkilling, of course it is...but it works at all so let him do

Edited by Johannes Burock
Link to comment
Share on other sites

I'm surprised that you can't directly manipulate the Mushroom color (emissive I presume?) via red, green, blue values in the material definition?

 

{
map path/to/image.tga
red 0.5
green 0.5
blue 0.5
}

 

 

http://www.modwiki.n...tage_keyword%29

 

Edit:

 

I get it. When a green light hits the mushroom the specular component is too bright and nearly always produces white. Other than toning down the specular map, you could set the light to "no specular"...

Edited by nbohr1more

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

Ummm, you need to use the mushroom skin that mentions "colorme" usually. Most pure monochrome textures will also work.

When you spawn the mushroom there should be skins under the model, skins show up with the pink blob icon.

 

Once you have done that, select the mushroom and go to the entity inspector.

It will list the spawnargs such as model name, skin etc.

In the bottom two fields fill in :

_color

0 0.4 0

 

Note the spaces. Hit enter, there should now be a _color entry in the list. That example should make it green. If you click on the _color attribute there's a preview of the color at the bottom, clicking it will give you a color wheel to select with.

 

Should look a bit like this :

shroom.png

Link to comment
Share on other sites

And the skins with colorme are not in the list...only the selflit_red_dull etc.

Is there a pack of data which is missing in my installation ?

 

Not all of the mushrooms have a colorme skin, maybe you can use other models in place? otherwise I can quickly make you a skin to do it :) The boletus mushrooms don't have any colourable skins at the moment.

 

Since many people only realise this after aaages of using DR:

Also remember you can expand all the sub-branches of a tree (i.e in the model browser) by selecting the branch and hitting [shift+right arrow]. You can also search through the lists by just typing the starting letters in.

Link to comment
Share on other sites

first: yes, i know there are subfolders...there are this skins i said.

I mean the >darkmod >nature > mushroom_1-3.lwo.

There are only the selflit_colour_dull mod's.

If it is so easy and fast to do it would be very kind to do a new skin...but not to much circumstances for you.

 

thanks Johannes

Link to comment
Share on other sites

Ah my bad - those files were actually test files!

 

So here's what you need :)

 

Material

 

 

tdm_mushroom_selflit_colorme
{
qer_editorimage models/darkmod/props/textures/mushroom_a_a_ed
surftype15
description "flesh"
nonsolid
noselfshadow
noshadows
forceOpaque

diffusemap 	models/darkmod/props/textures/mushroom_white_d

{
	blend	add
	map 	models/darkmod/props/textures/mushroom_a_a
	colored
}

// TDM Ambient Method Related 
{							
	if (global5 == 1)		
	blend add				
	map				models/darkmod/props/textures/mushroom_white_d	
	scale			1, 1		
	red				global2	
	green			global3	
	blue			global4	
}							
{							
	if (global5 == 2)		
	blend add				
	program	ambientEnvironment.vfp	
	vertexParm		0		1, 1, 1, 1		// UV Scales for Diffuse and Bump	
	vertexParm		1		1, 1, 1, 1	// (X,Y) UV Scale for specular		
	vertexParm		2		global2, global3, global4, 1	

	fragmentMap		0		cubeMap env/gen1				
	fragmentMap		1		_flat			// Bump				
	fragmentMap		2		models/darkmod/props/textures/mushroom_white_d			// Diffuse			
	fragmentMap		3		_black			// Specular			
}
}

 

 

 

Skin:

 

 

skin mushroom_selflit_colorme
{
model models/darkmod/nature/mushroom_01.lwo
model models/darkmod/nature/mushroom_02.lwo
model models/darkmod/nature/mushroom_03.lwo
model models/darkmod/nature/mushrooms_01.lwo
model models/darkmod/nature/mushrooms_02.lwo

tdm_mushroom_a_selflit_green tdm_mushroom_selflit_colorme
tdm_collision_moss tdm_collision_flesh
}

 

 

 

In your fm folder it should look something like this :

doom3/
    myfm/
       materials/
           fmmaterials.mtr #(put the material into a text file something like this)
       skins/
           fmskins.skin #(and the skin, here)
       maps/
           myfm.map

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

    • Petike the Taffer

      I've finally managed to log in to The Dark Mod Wiki. I'm back in the saddle and before the holidays start in full, I'll be adding a few new FM articles and doing other updates. Written in Stone is already done.
      · 0 replies
    • nbohr1more

      TDM 15th Anniversary Contest is now active! Please declare your participation: https://forums.thedarkmod.com/index.php?/topic/22413-the-dark-mod-15th-anniversary-contest-entry-thread/
       
      · 0 replies
    • JackFarmer

      @TheUnbeholden
      You cannot receive PMs. Could you please be so kind and check your mailbox if it is full (or maybe you switched off the function)?
      · 1 reply
    • OrbWeaver

      I like the new frob highlight but it would nice if it was less "flickery" while moving over objects (especially barred metal doors).
      · 4 replies
    • nbohr1more

      Please vote in the 15th Anniversary Contest Theme Poll
       
      · 0 replies
×
×
  • Create New...