WIP: Leopard 2 A5
-
If the wheel is one object the tri count is 144.
So I think the result in post #16 is the best, tri count is 126 and vertex count is
also less than if the wheel was one object. No?As I-Hawk explained it has to do with the draw calls so it’s not possible to say from your description because you haven’t specified things like texture usage/mapping and smoothing. If the 144 tri object was one smooth group and didn’t break texture mapping then yes it would probably be more efficient because it could be drawn in one draw call. You can see why giving a simple tri count as the limit is easier for most to deal with.
It would be nice if we have a model viewer that told us how many draw calls a model needed. That was something that DXEdit from FF did which was useful.
I’ve seen some people use untextured polys in models thinking they were being more efficient but as soon as the pType changes it’s another draw call.
Use the node summary in the export to see what pTypes are being generated for the LOD, it can help you ensure that a few incorrect pTypes are getting through adding extra draw calls.
Regards
Dave -
:munch:
:mrgreen:
Regards,
demer -
Not sure how tris count is calculated in 3D Max but I believe WD knows what he is talking about… e.g a simple cube has 8 vertices, but 12 tris… vertices is indeed what’s being translated, rotated and transformed by DirectX, tris are usually what’s being drawn by draw calls.
No doubt
Correct, a simple cube has 8 vertices, but 12 tris.
@LS:
Is the GFX engine smart enough …
Yes, DirectX is a state machine, so you set states for e.g texturing, blending, materila (Ptype) and you draw all you can by a single draw call (of course assuming you pushed everything you need in a smart way to a common vertex and index buffers, because buffers are also set for a draw call…), then if say you need to replace texture then you must update the current texture DirectX will use and execute another draw call, same if you need to update material, you need to update the DirectX state with the material properties and execute another draw call, etc etc… so for example you better have an Aircraft with 1x2048 texture than 4x1024 or 16x512 to cover the same area, much more efficient.
Just to get this right, … in case of smoothing groups (SG) for example …
I know we should use max. 3 SGs, so if I have modelled a untextured tank like Eghi did,
and I have used only SG1, SG2, SG3 and one ptype for the whole model,
then this model will have 4 draw calls, one for each SG + 1 ptype?Cheers,
LS -
As I-Hawk explained it has to do with the draw calls so it’s not possible to say from your description because you haven’t specified things like texture usage/mapping and smoothing. If the 144 tri object was one smooth group and didn’t break texture mapping then yes it would probably be more efficient because it could be drawn in one draw call.
OK, I got it, … it’s all about draw calls, not tri- or vertex count.
You can see why giving a simple tri count as the limit is easier for most to deal with.
Oh, I was also fine with the tri count limit, until I found out that I can keep the limit,
but still being not that efficiently.It would be nice if we have a model viewer that told us how many draw calls a model needed. That was something that DXEdit from FF did which was useful.
Sounds good, … wouldn’t similar be possible within your 3ds plugin?
I’ve seen some people use untextured polys in models thinking they were being more efficient but as soon as the pType changes it’s another draw call.
OK
Use the node summary in the export to see what pTypes are being generated for the LOD, it can help you ensure that a few incorrect pTypes are getting through adding extra draw calls.
Sure, i always use it during export.;)
Cheers,
LS -
Keep it at two calls……ptype2 and ptype14…you will be amazed soon…LOL!!!
The Illuminati…LOL!!!
-
Keep it at two calls……ptype2 and ptype14…you will be amazed soon…LOL!!!
The Illuminati…LOL!!!
What’s the problem here demer? I can’t understand your statements… Is there any sarcastism in your phrase? Wavey, Lazystone and myself are simply trying to advise our friend eghi for his great work…
-
What’s the problem here demer? I can’t understand your statements… Is there any sarcastism in your phrase? Wavey, Lazystone and myself are simply trying to advise our friend eghi for his great work…
No problem, no sarcasm. Just stating that for a Low Priority model in game, it is best to keep it as simple as we can.
I am sure Arek will benefit from the advice and produce great result’sCheers,
demer -
Yes, DirectX is a state machine, so you set states for e.g texturing, blending, materila (Ptype) and you draw all you can by a single draw call (of course assuming you pushed everything you need in a smart way to a common vertex and index buffers, because buffers are also set for a draw call…), then if say you need to replace texture then you must update the current texture DirectX will use and execute another draw call, same if you need to update material, you need to update the DirectX state with the material properties and execute another draw call, etc etc… so for example you better have an Aircraft with 1x2048 texture than 4x1024 or 16x512 to cover the same area, much more efficient.
would it be even better if u used a 1x4096 than 2x2048 or 4x1024 or 8x512? or in your optimization tests found that 2048 is the equilibrium point.
Example airbases they have a serious amount of textures… the old ones instead of the new ones like kimpo that uses just 7 IIRC.So as Demer said (using materials instead of textures is better) if using materials instead of textures the effect is the same? also if u think materials are light and u use much of them like 10 -15 materials instead of 4 textures of 2048 then u can have the opposite result? have you done some tests on that?
Also just in case, another point of hard proof why BMS team must have the 3d source files. In case a massive optimization like this needs to be done just to ease up the engine.
About materials … asking cause this one sounded as an ease of work for my buildings project. So just use 3-4 materials and just play with color brightness etc… wouldn’t it be better instead of using like +100 textures?
-
Busy in RL, I have time only on weekends. Today unwrap and texture will be finished.
2614 Tris model (WIP):
-
Looks really really good. As usual in your work.
-
would it be even better if u used a 1x4096 than 2x2048 or 4x1024 or 8x512? or in your optimization tests found that 2048 is the equilibrium point.
Example airbases they have a serious amount of textures… the old ones instead of the new ones like kimpo that uses just 7 IIRC.So as Demer said (using materials instead of textures is better) if using materials instead of textures the effect is the same? also if u think materials are light and u use much of them like 10 -15 materials instead of 4 textures of 2048 then u can have the opposite result? have you done some tests on that?
Also just in case, another point of hard proof why BMS team must have the 3d source files. In case a massive optimization like this needs to be done just to ease up the engine.
About materials … asking cause this one sounded as an ease of work for my buildings project. So just use 3-4 materials and just play with color brightness etc… wouldn’t it be better instead of using like +100 textures?
Nice work again Arek……!!!
To Artys point…I took some time today to show us\redo some tests as to my already proved to me “Proof of Concept”……;)
First pic is CCC’s FFG Perry @ 126 Tris and textured\DOF’d along with my conversion of Army Souls FFG Boone @ 29,000 Tris……but no texture’s and only Material mapping.
Second pic is CCC’s model alone. Though still in the taskforce (other models within the booble affect each other……;) )
Third pic is my conversion of Army Souls FFG Boone alone but still in the Task force. I have only Textured with “Materials” the gun and Helo Pad @ this time.As we can see, there is a significant FPS gain using this technique.
Also, as stated to Radium, I only use this technique for Low Priority models ATM… I cannot imagine the Falcon time it would take to do a complex model this way……LOL!!! BUT, I guess you could if you wanted to (I see divorce court coming……LOL!!!)
I am using this technique in upcoming GUAM for Das Boots because the Capital ships are HUGH (Features) on the moving objective. I need to save the FPS budget where I can……sighAs well, using only 2 pTypes allows me to target only those Polys that I want to illuminate at night…instead of ADDING carrier lights.blk et al (just more Tris to the Model)
Cheers,
The Illuminati -
Nice work again Arek……!!!
To Artys point…I took some time today to show us\redo some tests as to my already proved to me “Proof of Concept”……;)
First pic is CCC’s FFG Perry @ 126 Tris and textured\DOF’d along with my conversion of Army Souls FFG Boone @ 29,000 Tris……but no texture’s and only Material mapping.
Second pic is CCC’s model alone. Though still in the taskforce (other models within the booble affect each other……;) )
Third pic is my conversion of Army Souls FFG Boone alone but still in the Task force. I have only Textured with “Materials” the gun and Helo Pad @ this time.As we can see, there is a significant FPS gain using this technique.
Also, as stated to Radium, I only use this technique for Low Priority models ATM… I cannot imagine the Falcon time it would take to do a complex model this way……LOL!!! BUT, I guess you could if you wanted to (I see divorce court coming……LOL!!!)
I am using this technique in upcoming GUAM for Das Boots because the Capital ships are HUGH (Features) on the moving objective. I need to save the FPS budget where I can……sighAs well, using only 2 pTypes allows me to target only those Polys that I want to illuminate at night…instead of ADDING carrier lights.blk et al (just more Tris to the Model)
Cheers,
The IlluminatiOk I don’t understand.
I have only Textured with “Materials” the gun and Helo Pad @ this time.
you mean you created a dds texture for gun and helipad?
I done some models with material only and as I can see it u use blinn only and you play with color on Diffuse only right?
For the illuminated at night u set the ptype correctly u create the switch and that way how you do it without a texture? IIRC it needs a texture (dds) to alter the settings for the ptype to be set correctly from 3ds.
Unless:
1. u do it from lodeditor.
2. U select texture but don’t set a texture and just alter the settings to have the effect, and it works like it has a texture but displays the color u set in diffuse?Edit: ok I played a little with those… when u export it gets the 0.dds as default texture. so it fubars the displayed model, but if u erase the texture setting from LE then it shows ok.
Also about the night light u declare a bitmap for mapping but u don’t set an actual image u just set the settings and the switch and it works. -
Ok I don’t understand.
you mean you created a dds texture for gun and helipad?I done some models with material only and as I can see it u use blinn only and you play with color on Diffuse only right?
For the illuminated at night u set the ptype correctly u create the switch and that way how you do it without a texture? IIRC it needs a texture (dds) to alter the settings for the ptype to be set correctly from 3ds.
Unless:
1. u do it from lodeditor.
2. U select texture but don’t set a texture and just alter the settings to have the effect, and it works like it has a texture but displays the color u set in diffuse?Edit: ok I played a little with those… when u export it gets the 0.dds as default texture. so it fubars the displayed model, but if u erase the texture setting from LE then it shows ok.
Also about the night light u declare a bitmap for mapping but u don’t set an actual image u just set the settings and the switch and it works.U are getting there……
TUT it up when you are done, please.
Remember I stated in other post’s that “NO texture’s were harmed” meant that none were used.Cheers,
demer a.k.a. The Illuminati…LOL!! -
Well In my tests doesn’t look very nice… a lot of monotony, have to work on it.
Trying to create a procedural rule that maybe will make it look plural and not repetitive, also alongside trying the materials thus with texture but not having to uv map the thing.
Using texture materials is the problem thing, cause the procedural tool doesn’t use dds format where the 3ds must declare a dds, thus using a color for material and not a texture looks more easy when u have to build some xxx.xxx models. Sure I can create a set of files (a library) and work with them but square textures fubar buildings creation… they need - work better with parallel ones… facades.For starters I might go with colors and variation mostly playing at the gray area… but that way all buildings will be like fresh painted.
Right now I’m searching how to easily set the windows and their illumination at night so the city will look alive at night and not have to do all by hand… like setting a rule of 30% -40% of windows to be illuminated and the rest to be dark… this will make a good night city landscape for sure.
hmmm after that with the night street from lamps lighting there could be a combination of just points and there put the lighted areas and boom u have lighted buildings and lighted streets… hmmm
Damn I only have one week of vacations and I’m already way tired and I really need that rest cause a hard working winter is waiting for me…
So it will take the long lonely path.Edit: Eghi really sorry for high jacking your thread. I hope u understand that when 3ds for Falcon matters hit the surface a lot of harpoons try to catch the pray. And as Johny 5 used to say: “Input I need more Input”…
-
Maybe time to start a new thread so we may fully explore\exploit this and leave Arek’s great work to continue???
demer
-
Out of the box triggers out of the box types to come together.
I appreciate all of this thread.
Eghi, please continue! -
Just to get this right, … in case of smoothing groups (SG) for example …
I know we should use max. 3 SGs, so if I have modelled a untextured tank like Eghi did,
and I have used only SG1, SG2, SG3 and one ptype for the whole model,
then this model will have 4 draw calls, one for each SG + 1 ptype?Hi Lazy, TBH I’m not sure regarding draw calls for smoothing groups, will try to get some answer.
would it be even better if u used a 1x4096 than 2x2048 or 4x1024 or 8x512? or in your optimization tests found that 2048 is the equilibrium point.
Example airbases they have a serious amount of textures… the old ones instead of the new ones like kimpo that uses just 7 IIRC.So as Demer said (using materials instead of textures is better) if using materials instead of textures the effect is the same? also if u think materials are light and u use much of them like 10 -15 materials instead of 4 textures of 2048 then u can have the opposite result? have you done some tests on that?
Also just in case, another point of hard proof why BMS team must have the 3d source files. In case a massive optimization like this needs to be done just to ease up the engine.
About materials … asking cause this one sounded as an ease of work for my buildings project. So just use 3-4 materials and just play with color brightness etc… wouldn’t it be better instead of using like +100 textures?
Hi Arty, no 2048 isn’t some magic number, I just used it as an example. The idea is that using 1 large texture is better than many small ones. Texture coordinates for a 3D mesh are saved for each vertex so changing coordinates is better than changing a texture.
I’m not sure I quite understand the idea of material and texture replacement, Changing material will generate extra draw calls because 3D properties are changed, same for changing textures… so the rules are simple:
1. Use as less textures as possible for a 3D model.
2. Use 1 material for a model if possible, use other only if you have to.I won’t try to analyze Deamer’s example above, because simply you can’t really analyze 3D rendering by FPS in Falcon, there are many variants that can cause FPS differences (e.g sometimes if you enter the same mission without exiting Falcon, u will see lower FPS than first entry…), in order to analyze 3D rendering, special tools must be used or special code that can display specific information of the 3D rendered picture (number of resterised vertices, number of draw calls etc).
-
I won’t try to analyze Deamer’s example above, because simply you can’t really analyze 3D rendering by FPS in Falcon, there are many variants that can cause FPS differences (e.g sometimes if you enter the same mission without exiting Falcon, u will see lower FPS than first entry…), in order to analyze 3D rendering, special tools must be used or special code that can display specific information of the 3D rendered picture (number of resterised vertices, number of draw calls etc).
which I hope - wish we will have the ability to view in the near future as we do now by using the ctrl z L command… or even better inside Falcon Editor…
So either using materials or textures the effect is the same… thing is u can use 4096 or 8192 textures like 2 of them for a large object and save the pain of using 6-10 materials, and maybe go by 2 materials. If u want your object to light up at night then u can’t avoid the second material.
And when we say material we are talking about 3ds materials or Falcon materials? cause 3ds materials can be 100 of them but when exported there are only 2 ptypes, and in my understanding the ptypes are falcon materials. Are the ptypes the materials that count or the 3ds max materials that count?
Cause if it’s ptypes then by using 1000 different materials in 3ds that result to 2 ptypes then it’s better. -
Hi Lazy, TBH I’m not sure regarding draw calls for smoothing groups, will try to get some answer.
WD talked about SGs in post # 32.
Do exist a list what exactly do force draw calls?
- each used ptype !
- each used SG ???
- mapping (projection) ???
- etc. ???
Cheers,
LS -
Are the ptypes the materials that count or the 3ds max materials that count?
ptypes
Cheers,
LS