Welcome, Guest! Login | Register
How to use LOD on imposter
Info
Report
31 Posts

3DRAD IS GREAT
ITS EASY TO LEARN.
I HAVE CREATED TERRAIN WITH 150 OR MORE TREES. EACH TREE HAVE 2000 VERTICES APPROX..
I WANT TO APPLY ON THOSE TREES TO IMPROVE PERFORMANCE.

2ND THING WHEN I REMOVE GRASS THE FRAME RATE INCREASED TO 55+ BUT WHEN GRASS IS THERE THE FRAMERATE DROPS TO 25+. SO THE GPU INSTANCING IS BETTER FOR GRASS.. I AM USING SCANRAY FOR GRASS WHICH IS QUIT EXPENSIVE DROPING FRAME TO 25.. THERE MUST BE BETTER WAY


HERE IS THE LOOK OF WHAT I AM CREATING..

https://ibb.co/PGHxsgC
https://ibb.co/GWzLrJv
https://ibb.co/rwLhD72
https://ibb.co/WyPFz7Y
https://ibb.co/169tXgk
https://ibb.co/WBkDXnp
https://ibb.co/Zh66c1y
https://ibb.co/25CrnxJ
https://ibb.co/mt14jXF
https://ibb.co/TwM6GfB
https://ibb.co/LnqgPLM
https://ibb.co/31dfDms
https://ibb.co/1JcJqMs
https://ibb.co/ZJMTLVR
https://ibb.co/4tFc81X
https://ibb.co/fChDwGK
https://ibb.co/Jn0g0zk
https://ibb.co/yRvJppG

WHEN ALL 300 TREES ARE ENABLE THE FRAME DROPS TO 20 FPS OR LESS AS IT CAN BE SEEN HERE
https://ibb.co/NW0NnVP
https://ibb.co/5stwM6v
https://ibb.co/YyxR4Yv

SO THERE ARE TWO ISSUES TREE AND GRASS WHICH BOTH CAN BE SOLVED BY IMPOSTER BUT I DONT KNOW IS THERE A WAY FOR IMPOSTER LOD. I HAVE SEEN THE EXAMPLES OF IMPOSTER LOD ALREADY BUT I DONT KNOW HOW TO USE IT USING IMPOSTER
Created on: 2 months ago
Edited on: 2 months ago
Info
Report
152 Posts

There's a way: When creating an imposter you can also create a second imposter that is the LOD itself. If hopefully imposters are stored in a array/list, and hopefully you can hide them you're fine.
Created on: 2 months ago
Info
Report
31 Posts

is not possible without hiding and showing imposters. Do i have to create second skinmesh with high detail and attach 2 objects and then apply hide and show
Created on: 2 months ago
Info
Report
41 Posts

Dont use imposters if the model isnt miles away. 3Drad is fast enough to handle polygon reduced models. Polygon Cruncher is great for LODs and it keeps Your UV mapping. LOD0=2000 polys, LOD1=1000 polys, LOD2=500 polys (Somewhere around, the more LODs the smoother)... Ofcourse its quality vs framerate I recommend to protect the edges when reducing, most programs like Unity for example have a smooth translation between LODs, 3DRad change model direct and it doesnt look perfect but it can look ok with training.
Remember- dont reduce to much between LODs and make sure that the tree is placed and rotated exactly like LOD0.
Created on: 2 months ago
Edited on: 2 months ago
Info
Report
384 Posts

correct me if i'm worng but isnt .DDS textures with mimpmaps 3drads way of doing LOD..
It's my understanding each mipmap level is a LOD each a little lower in quality .
So if i'm right, why not just create your trees with dds textures and its taken care of.

I use gimp with a DDS plugin , i set my dds textures to use BC3/DXT5 and generate mipmaps.
Created on: 2 months ago
Edited on: 2 months ago
Info
Report
41 Posts

LODs is reduced polygons on an object, mipmaps load a "mini version" of the texture on a distance, You cant see mipmap changing with Your eyes it does speed up a bit but its the amount of polygons that slow down way most. I havnt seen any 3drad game yet that really need any reducing sence most Guys around only use very lowpoly models..
Created on: 2 months ago
Edited on: 2 months ago
Info
Report
31 Posts

I UNDERSTAND THE CONCEPT LOVE 74 AND OTHER WANT TO SAY
I CHECKED LOD PROJECT THAT COMES WITH 3DRAD WHICH HAS CAPSULE LOD
I CREATED 400 IMPOSTER OF THAT CAPSULE
THEN I PUT A CODE FOR LOD
IT WORKS BUT ALL LOD CHANGED AT THE SAME TIME.. AND WHAT I WANT IS THE IMPOSTER WHICH IS NEAR TO THE CAMERA WILL CHANGE ITS LOD NOT ALL IMPOSTER.
I THINK NOT POSSIBLE IN 3DRAD..
IF I USE 300 DIFFERENT OBJECT (OBJ_00, OBJ_01 ETC) THEN I THINK THIS WILL HIT PERFORMANCE, MOREOVER HOW CAN ANYONE PUT 300 SKINMESH OBJECTS. (BREATHLESS )
Created on: 2 months ago
Info
Report
41 Posts

Yes it is possible as an imposter is just another model (2 Polys or 4 double sided). 400 imposter of a capsule?!!! Why on Earth did You make so many??? ONE(!!!) Imposter is meant to be used on far distance from camera, on medium distance You shourld use a reduced polygon model....
Created on: 2 months ago
Info
Report
384 Posts

You found one of the problems with imposters.

They work great for things like smoke and particles but when you change the source model, all the imposters get effected too.

You can only effect individual imposters using the imposters script commands.

I honestly don't think LOD would be a good way to go using imposters.

The biggest advantage with imposters is allowing your project to be smaller to begin with and not having to add a ton of sprites etc in your project, plus imposters load faster then having to load a file from disk.

Imposters still use up memory as well .
Created on: 2 months ago
Info
Report
41 Posts

I just did see an imposter demo in 3DRad, to be honest I havnt used any imposters in My games I was pretty sure it was like a flat cutout alpha tree? Like a decal. I really have to find out more about imposters, know way to little... :/
Created on: 2 months ago
Info
Report
206 Posts

Great stuff. Impressive visuals Jaysonbourn
Created on: 2 months ago
Info
Report
152 Posts

Quote from: TinSoldier


Imposters still use up memory as well .

The bese case of the imposters:
It can be just a array of a struct containing 9 floats containing location,rotation and scale information.
So sizeof(float) is 4. So 4*6 = 39 bytes for one imposter. Not much.
GPU wise I can agree that model imposters take up some memory.
Created on: 2 months ago
Edited on: 2 months ago
Info
Report
41 Posts

@Athanos
"GPU wise I can agree that model imposters take up some memory."

I did read a little bit about imposters and the point there is to save memory, it is like a decal LOD from a distance
Here is a very simple example img:
Created on: 2 months ago
Info
Report
152 Posts

Quote from: love74

@Athanos
"GPU wise I can agree that model imposters take up some memory."
I forgot to mention I was talking about 3DR.

I did read a little bit about imposters and the point there is to save memory, it is like a decal LOD from a distance
Here is a very simple example img:

It depends on the imposter implementation and on what model is being cloned.
For example, using two imposters of a 200 polygon model will send to the vertex buffer a total of 400 plys. Simple enough. (Refering to 3D Rad's implementation).

LODs are a great was to optimize games, but as I said before, it doesn't exist in 3D Rad.
Created on: 2 months ago
Info
Report
31 Posts

THANKS TIN SOLDIER & KULU AND OTHERS. NOW I UNDERSTAND THAT IT CANT BE DONE INDIVIDUALLY.
IF I DIDNT CREATE IMPOSTER OF TREE AND PUT SKINMESH IN PLACE OF IMPOSTER. IS THERE ANY PERFORMANCE INCREASE.
I TRIED MANY DIFFERENT WAY TO INCREASE PERFORMANCE AND IMPOSTER METHOD IS THE FASTEST ONCE GIVING 45 FRAMES PER SECOND AND AVERAGE 40 FRAMES.
THE CHANGING OBJECT LOD WILL IMPOSE OVERHEAD ON 3DRAD WHICH DROPS FRAMES. DO ANY OF YOU HAS EXPERIMENTED ON LARGE TERRAIN. THE TERRAIN WHICH I HAVE CREATED WILL TAKE 2 HOURS AND MORE TO EXPLORE COMPLETELY.
Created on: 2 months ago
Edited on: 2 months ago
Info
Report
152 Posts

Please avoid the caps lock.
Created on: 2 months ago
Info
Report
296 Posts

@icanseethat, for second time, please avoid writing in all caps.
Created on: 2 months ago
Info
Report
41 Posts

@Athanatos

"using two imposters of a 200 polygon model will send to the vertex buffer a total of 400 plys."

In that case they are not really imposters then, are they? More like cloned models?.....
Created on: 1 month ago
Info
Report
152 Posts

Quote from: love74

@Athanatos
In that case they are not really imposters then, are they? More like cloned models?.....

Yes. GPU side they are cloned models.
Created on: 1 month ago
Info
Report
384 Posts

@icanseethat  do you script at all ?

I think your best bet may be to use the cams "viability distance in meters" it acts much like a LOD system but effects all visible things in your project except the background.

In scripting try the "iVectorCompare(Vector3,Vector3,float)"  it pretty much can work like the cams visability option but on a per model basis.
If you enter a float value, it returns true if the distance is less than or equal to the float value.

EDIT:

Added a project using the ivectorcompare and standard 3drad objects for you to play with.
If you weren't sure about how to do this, this project will get you going.

Just save it without the .txt extention.

Drive the pcar around and see things pop in & out.

Use the 2 GUI objects to adjust the distance val to test , VAL_1 for the boulders, VAL_2 for the walls.
Created on: 1 month ago
Edited on: 1 month ago
Info
Report
31 Posts

Thanks TinSoldier, I am using ivectorcompare in my project. My issue is LOD on imposter which cant be done. I have to show and hide imposter and high poly mesh using ivectorcompare.
Created on: 1 month ago
Info
Report
28 Posts

ok, so the answer to your question in the bug thread is this:
blend by scripting alpha fades to user shaders, e.g 30 frames=1/2 a sec, so fade 1 lod while unfading the other, this creates a smoother transition than just show/hide in 1 frame.
Created on: 1 month ago
Reply
Preview
Post
Or use the advanced reply form here...
Sponsored