`
javahigh1
  • 浏览: 1288636 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

我的BSP分割原始数据和结果格式(基本分割+Portal)

 
阅读更多

原始数据文件:oribsp

<BSP>
<Materials>
<Material Name="08 - Default" Type="Standard" Texture="Resources\BspScenes\NF\100_1524.jpg"/>
</Materials>
<StructFace>
<Vertices Count="240">
<Vertex Position="0.0 0.0 -100.0" Normal="0.0 1.97569 0.0" TexCoord="0.58325 -0.908682" />
</Vertices>
<SubMeshes Count="2">
<SubMesh MaterialName="02 - Default" SubMeshID="1" UseIndex32="false">
<Face Value="0 1 2" />
</SubMesh>
<SubMesh MaterialName="01 - Default" SubMeshID="1" UseIndex32="false">
<Face Value="126 127 128" />
</SubMesh>
</SubMeshes>
</StructFace>
<DetailMeshes>
<DetailMesh Name="DM_Cylinder1">
<Vertices Count="36">
<Vertex Position="14.0 0.0 -16.0" Normal="1.0 0.0 0.0" TexCoord="0.75 -0.000499547" />
</Vertices>
<SubMeshes Count="1">
<SubMesh MaterialName="03 - Default" SubMeshID="1" UseIndex32="false">
<Face Value="0 1 2" />
</SubMesh>
</SubMeshes>
</DetailMesh>
<DetailMesh Name="DM_Cylinder02">
<Vertices Count="36">
<Vertex Position="-10.0 0.0 -16.0" Normal="1.0 0.0 0.0" TexCoord="0.75 -0.000499547" />
</Vertices>
<SubMeshes Count="1">
<SubMesh MaterialName="03 - Default" SubMeshID="1" UseIndex32="false">
<Face Value="0 1 2" />
</SubMesh>
</SubMeshes>
</DetailMesh>
</DetailMeshes>
</BSP>

结果文件名:*.nfbsp

<BspScene>
<BspMaterials Count="5"> -- 材质表
<Material Name="01 - Default" TexName="Resources\BspScenes\NF\20034242302484698.jpg" />
</BspMaterials>
<BspVertices Count="269"> --原始顶点
<Vertex Pos="0 0 -100" Normal="0 1 0" TexCoord="0.58325 -0.908682" />
</BspVertices>
<BspStructPlanes Count="21"> -- 结构化平面
<Plane Normal="0 1 0" Distance="0" />
</BspStructPlanes>
<BspStructFaces Count="126">-- 结构化三角形
<StructFace Value="0 1 2" PlaneID="0" SubMeshID="1" />
</BspStructFaces>
<BspDetailMeshes Count="12"> --细节模型
<DetailMesh Name="DM_Cylinder1">
<Vertices Count="36">
<Vertex Pos="14 0 -16" Normal="1 0 0" TexCoord="0.75 -0.000499547" />
</Vertices>
<SubMeshes Count = "1" FaceCount="12">
<SubMesh MaterialID="2">
<Face Value="33 34 35" />
</SubMesh>
</SubMeshes>
</DetailMesh>
</BspDetailMeshes>
<BspNodes Count="6">-- Bsp 节点表
<Node NodeType="-1" PlaneID="11" PosChild="1" NegChild="3" />
<Node NodeType="0" PlaneID="6" PosChild="2" NegChild="-3" />
<Node NodeType="0" PlaneID="4" PosChild="-1" NegChild="-2" />
<Node NodeType="1" PlaneID="9" PosChild="-4" NegChild="4" />
<Node NodeType="1" PlaneID="18" PosChild="5" NegChild="-7" />
<Node NodeType="0" PlaneID="16" PosChild="-5" NegChild="-6" />
</BspNodes>
<BspLeafs Count="7"> -- Bsp Leafs叶子表
<Leaf NodeType="0"> -- Leaf 叶子
<StructFaces Count="27"> -- Struct Faces 结构化面
<SubMesh ID="1"> -- SubMesh ID子SubMesh
<Face ID="0"/>
</SubMesh>
</StructFaces>
<LeafDMID> -- Detail mesh ID 细节面
<ID Value="0"/>
</LeafDMID>
<PortalLinks> -- Portal Links 叶子与哪些Portal连接
<Link PortalID="0"/>
<Link PortalID="1"/>
<Link PortalID="2"/>
<Link PortalID="3"/>
</PortalLinks>
</Leaf>
</BspLeafs>
<BspPortals> -- Portals 入口
<Portal LinkLeaf="3 0" >-- Portal 连接
<Vertex Value="-70 50 -60" /> -- Vertex
<Vertex Value="-40 50 -60" />
<Vertex Value="-40 0 -60" />
<Vertex Value="-70 0 -60" />
</Portal>
</BspPortals>
</BspScene>

分享到:
评论

相关推荐

    BSP空间分割简述

    BSP(Binary Space Partitioning,二叉空间分割)是一种广泛应用于计算机图形学中的数据结构和技术,主要用于空间分割和场景管理。其核心思想是将空间通过一系列的平面进行分割,形成一个层次化的结构,以便快速地...

    BSP+PORTAL+PVS室内游戏渲染测试

    总的来说,"BSP+PORTAL+PVS室内游戏渲染测试"项目是游戏开发中的一个核心部分,涉及到空间组织、渲染优化和性能提升等多个方面。通过学习和实践这样的项目,开发者能够掌握高级的3D游戏编程技巧,为构建高质量、高...

    BSP.Trees.rar_BSP树_BSP树分割_BSP空间分割_分割_分割树

    **BSP树(Binary Space Partitioning Trees)**是一种在计算机图形学、游戏开发以及几何算法等领域广泛应用的数据结构。它的核心思想是将三维空间通过一系列的分割操作,将空间分割成多个子区域,每个子区域由一个...

    3D场景的BSP分割算法

    在三维计算机图形学领域,尤其是在游戏开发中,为了高效地处理复杂的3D环境并优化渲染过程,**Binary Space Partitioning (BSP)** 树是一种非常重要的数据结构和技术。本文旨在深入探讨BSP树的概念、算法及其在实时...

    bsp_tree_demo_09_bsptree_DEMO_

    ** BSP树(Binary Space Partitioning Tree)是一种数据结构,它在计算机图形学和游戏开发中广泛应用,用于高效地管理和组织三维空间中的对象。这个“bsp_tree_demo_09_bsptree_DEMO_”是一个演示程序,展示了如何...

    BSP(二叉空间划分树).pdf

    二叉空间划分树(Binary Space Partitioning Tree,简称BSP Tree)是一种数据结构,广泛应用于计算机图形学、碰撞检测、三维空间分割和许多其他领域。这种数据结构通过将三维空间递归地分割成两个半空间来组织几何...

    BSP基本概念.doc

    BSP 的定义是为软件操作系统正常运行提供最基本、最原始的硬件操作的软件模块,它和操作系统息息相关,但又不属于操作系统的一部分。BSP 可以分为三大部分:系统上电时的硬件初始化、为操作系统访问硬件驱动程序提供...

    3D游戏中常用算法 如碰撞检测 A* 四叉树 BSP分割树 地形LOD等等

    4. **BSP(二叉空间分割)树**:BSP树是一种分层数据结构,通过不断地将空间分割成两半来组织物体。这种方法使得碰撞检测、可见性测试和渲染加速变得更为高效。BSP树在实时渲染和多玩家游戏中特别有用,因为它能快速...

    BSP树介绍简单概念

    BSP树是一种二叉树数据结构,用于对N维空间中的元素进行排序和查找。它的每个节点都表示一个凸的子空间,并且包含一个超平面,将这个节点表示的空间分割成两个子空间。每个节点除了保存其两个子节点的引用以外,还...

    BSP基本概念[整理].pdf

    这部分BSP主要负责最小系统中硬件的初始化和基本设备的驱动。而其他的硬件驱动程序则被视为扩展的驱动程序,它们不包含在最小系统BSP中,但同样是BSP不可或缺的部分。 BSP的主要功能是配置硬件使其正常工作,并通过...

    BSP概念分析和讲解

    此外 BSP 还包含和系统有关的基本驱动(串口,网口...),此外程序员还可以编程修改 BSP,在 BSP 中任意添加一些和系统无关的驱动或程序,甚至可以把上层开发的统统放到 BSP 中。 BSP 是操作系统的一部分,负责支持...

    线的基本定义——2D的BSP树的实现

    在计算机图形学中,BSP树(Binary Space Partitioning Tree,二进制空间分割树)是一种数据结构,常用于组织和优化三维空间中的几何对象。它通过递归地将空间分成两半,使得每个子空间内包含一组特定的对象。这个...

    BSP vs MapReduce

    在Map阶段,原始数据被分割并分配给不同的节点进行初步处理;在Reduce阶段,处理结果被合并,生成最终的输出结果。MapReduce的灵活性和可扩展性使其成为处理大规模数据集的理想选择,尤其是在搜索引擎、数据分析和...

    WinCE BSP下载和资料

    收集各种开发板wince BSP资源: 6410 sd启动裸跑 mini2440 Android系统 WINCE6 VMWARE BSP 三星CPU资料 三星S3C2416 三星S3C2440A 三星S3C2443 三星S3C6410 优龙开发板wince5.0 BSP和资料 友善之臂Micro2440、...

    BSP.rar_ bsp editor_BSP_bsp editor

    BSP,全称为Binary Space Partitioning,中文译为二进制空间分割,是一种广泛应用于三维图形学、游戏开发和计算机辅助设计(CAD)中的数据结构和算法。BSP树是这种技术的核心,它通过递归地将空间分割成两个半空间来...

    Quake3 BSP 技术简析

    BSP(Binary Space Partitioning)二进制空间分割技术是一种在计算机图形学领域中广泛使用的算法,尤其在游戏开发中非常关键。它通过一系列平面将三维空间划分为多个子区域,这些子区域可以有效地组织场景数据并进行...

    bsp场景管理源码

    BSP(Binary Space Partitioning,二进制空间分割)是一种优化场景数据结构的方法,用于提高渲染效率。本资源提供了BSP场景管理的源代码,帮助我们深入理解其工作原理和实现方式。 首先,`Bsp.h`是BSP树的核心类...

    一些bsp(Binary Space Partioning)文档

    **二进制空间分割(BSP)技术在实时三维渲染中的应用** 二进制空间分割(Binary Space Partitioning,简称BSP)是一种广泛应用于计算机图形学,尤其是三维场景管理的技术。这种技术通过将三维空间分割成多个子空间...

    [转]3D游戏中的场景管理(八叉树和BSP树简介)

    相比于八叉树,BSP树在内存使用、分割灵活性和减少无效区域方面具有优势,而且通常更平衡。BSP树不仅可用于遮挡处理,替代Z-Buffer,还能简化碰撞检测,因为它可以确定物体的绘制顺序。 BSP树的构建过程是从一个...

Global site tag (gtag.js) - Google Analytics