Procházet zdrojové kódy

Moved CPU LOD Culling from draw to emit.

TothBenoit před 6 měsíci
rodič
revize
571fdda9db
3 změnil soubory, kde provedl 4 přidání a 2 odebrání
  1. 0 2
      h3d/prim/HMDModel.hx
  2. 2 0
      h3d/scene/Mesh.hx
  3. 2 0
      h3d/scene/MultiMaterial.hx

+ 0 - 2
h3d/prim/HMDModel.hx

@@ -261,8 +261,6 @@ class HMDModel extends MeshPrimitive {
 
 		var materialCount = data.indexCounts.length;
 		var lodLevel = Std.int(curMaterial / data.indexCounts.length);
-		if ( lodLevel >= lodCount() )
-			return;
 
 		if( indexes == null || indexes.isDisposed() )
 			alloc(engine);

+ 2 - 0
h3d/scene/Mesh.hx

@@ -113,6 +113,8 @@ class Mesh extends Object {
 
 	override function emit( ctx : RenderContext ) {
 		calcScreenRatio(ctx);
+		if ( primitive.screenRatioToLod(curScreenRatio) >= primitive.lodCount() )
+			return;
 		ctx.emit(material, this);
 	}
 

+ 2 - 0
h3d/scene/MultiMaterial.hx

@@ -25,6 +25,8 @@ class MultiMaterial extends Mesh {
 
 	override function emit( ctx : RenderContext ) {
 		calcScreenRatio(ctx);
+		if ( primitive.screenRatioToLod(curScreenRatio) >= primitive.lodCount() )
+			return;
 		for( i in 0...materials.length ) {
 			var m = materials[i];
 			if( m != null )