Corrado
Member
|
Warnings
Hello,
i noted some things in my code-list, pls verify if the problem is in your Library :
1) Mouse : Ms.wheel() : is allways = 0 in your exclusive mode
2) Water : its visible only in multisampling
3) LOD : if i put the meshs-lod into the vga (with setRender) they are not visible, if i dont put they are visible
4) LOD : the values of meshs-lod faces(), tris(), quad() are always = 0
BTW : im sorry, i do not want to bother you, but i think you have to solve the problem of the low-poly : in
addition to impostors i have dozens (with thousands instances) of low-poly (from 20 to 200 faces) objects in may game (benchs, barrels, poles, hydrants,
bins, trashes, boxes, containers, ...) and ,as i told you, EE is very low in drawing these objects (EE not increase the speed drawing objects under 700 faces).
(Power Render solved the problem with instancing shader, Ogre i dont know).
Thanks
Corrado
|
|
03-23-2009 01:15 PM |
|
Esenthel
Administrator
|
Re: Warnings
1) it works for me in both non-exclusive and exclusive mode, the wheel delta is taken directly from the DirectInput so it's not an engine issue
2) Water is working fine (in standard and super sampling modes), it is supported only in RT_MULTI_PASS mode
multisampling works only in RT_SINGLE_PASS and RT_SIMPLE, which are incompatible with the Water
3-4) when Mesh Editor saves Mesh files with generated lods, the lods have only Mshr valid (only the rendering part) the Mshb is not set so the file is smaller.
you shouldnt use 'setRender' in your game codes, because rendering version is already active when loading pre-processed meshes from the Mesh Editor
1. which renderer type are you using for the rendering?
2. what classess are you using for most of the objects?
3. what engine version are you using?
4. are you using shadowing?
5. are you using mirroring (water) ?
6. how many lights are on the scene?
7. do your objects require dynamic physx movement, or can be fully static?
|
|
03-23-2009 01:23 PM |
|
Corrado
Member
|
Re: Warnings
tks for the answers 1-4
About the low-poly speed : you remember : i send you the samples of PowerRender and Ogre : they works fast.
About these kind of objects :
"About the impostors of course all that i need is : position, rotation, scale and color (i dont need shadows, lights, collisions, ...)"
(off course i dont need physics)
Corrado
|
|
03-23-2009 02:02 PM |
|
Esenthel
Administrator
|
Re: Warnings
ok, for the next engine version I'll add an option to join together the static objects on the world.
to make this work, please:
-don't make LOD's for the object with small number of faces
-use "embed" access mode for the object with small number of faces
these objects will be joined together and rendered as one.
|
|
03-23-2009 02:15 PM |
|
Corrado
Member
|
Re: Warnings
actually i dont use "world editor" and your "objects", i use only your .mesh and i have the terrain with heightmap and colormap, i have already some maps
and so i prefer use these.
I have divided the whole map in 64x64 quads and at the start i set all the entities coordinates (Matrix) in every quad, then in run-time i draw only
the entities that are into 7x7 quad that are around the camera (so each frame a draw around 12000 entities for each 1million entities in the whole map).
I have also a visual-lod, another object lod (sometime i use my, sometime the Lod of the Mesh Editor), external impostor (3dstudio) or internal impostor (code).
If you dont add a fast render method for low-poly i think that to join all the 7x7 quad instances in one single is a good idea, but remember that the problem
is not join two different meshes, but you have join the instances of the same mesh; of course if you realize a feature that join all : meshes and instances
will be better.
Note : about join the instances : you want join at the start or in run-time ? If you will have high-speed join i think will be better in run-time, otherwise i have
to join and have at least 64x64 = 4096 objects at the start (i have already 2 millions of Matrix with the entities positions).
My personal opinion : join the instances is a good idea but to have one fast render method for low-poly in add will be better (also for your EE).
Tks
Corrado
|
|
03-23-2009 07:47 PM |
|
Esenthel
Administrator
|
Re: Warnings
I'll add MeshPart instanced rendering after I'll finish updating CSG routines.
|
|
03-26-2009 11:34 AM |
|
Corrado
Member
|
Re: Warnings
Tks i wait
Corrado
|
|
03-26-2009 08:23 PM |
|
Esenthel
Administrator
|
Re: Warnings
I've added a new class InstancedRenderer (available in the next engine version)
you'll need to once initialize it basing on a MeshPart
Code:
InstancedRenderer ir;
ir.create(part, .. );
then you can use it like this:
Code:
switch(Renderer())
{
case RM_SOLID: // render only in solid mode
ir.begin(); // begin drawing
REP(100)ir.draw(matrix[i]); // add 100 instances
ir.end(); // end drawing
break;
}
|
|
03-28-2009 10:59 PM |
|
Corrado
Member
|
Re: Warnings
Many thanks,
now the speed is OK.
Corrado
|
|
03-30-2009 09:20 AM |
|
Esenthel
Administrator
|
|
03-30-2009 02:40 PM |
|