bspfilter.cpp

来自「3D游戏开发需要用到BSP树来经行场景渲染的管理。本代码包含完整的BSP及文件生」· C++ 代码 · 共 31 行

CPP
31
字号
#include "bspconv.h"
#include "bspbrush.h"

void CBSPFilter::FilterBrushesAndMarkOpaqueNodes(_CBSPTree *tree) {
	int n = tree->brushes.GetNum();
	int nLeafs = 0;

	for(int i=0; i<n; i++) {
		nLeafs += tree->brushes[i]->FilterBrushAndMarkOpaqueNodes(tree);
	}

	g_CLog.Log(LOG_SYSTEM, "%4d leafs marked opaque.", nLeafs);
}

bool CBSPFilter::FilterFacesAndMarkLeaves(_CBSPTree *tree, bool doFilter) {
	int n = tree->faces.GetNum();
	int nFaces = 0;

	for(int i=0; i<n; i++) {

		tree->faces[i]->AddFaceRefencesToNodes(tree, doFilter);

		if(!tree->faces[i]->winding.Empty()) {
			nFaces++;
		}
	}

	g_CLog.Log(LOG_SYSTEM, "%4d faces visible.", nFaces);

	return nFaces > 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?