panda3d中Scene Graph的介绍

这篇博客介绍了Panda3D中Scene Graph的概念,它用于存储3D场景中的元素关系,采用树状结构,由PandaNode表示。文章通过两个示例代码展示了Scene Graph如何影响3D模型的渲染,包括父节点对子节点属性的继承和不同节点的附加方式,帮助读者深入理解Scene Graph的工作原理。
摘要由CSDN通过智能技术生成

        在计算机图形学中,需要用一些基本元素构成一个复杂的场景,因此需要一个数据结构scene graph来存储该场景中的元素的基本关系。每一条边代表两个基本元素之间的相对位置关系等,在一些引擎中scene graph将3d模型存储在线性表中。panda3d存储结构稍微复杂为树状结构,简单的说是自上而下的结构且无回边,即子节点的性质不能影响父节点的性质, panda3d中存储Scene Graph树节点的是PandaNode。他是ModelNode,GeomNode,LightNode三个类的父类,场景中Scene Graph的父节点render根据不同的节点进行渲染,由于三种节点有相同的父节点,所以父节点的一些性质会被子节点继承。注意scene graph中不是只有一棵树,可以有多棵,用attachNewNode语句来完成,读者可以通过下面两个程序显示的结果来更加深入的理解。

代码一:

from direct.showbase.ShowBase import ShowBase
from direct.actor.Actor import Actor
from panda3d.core import Vec3

class Application(ShowBase):
    def __init__(self):
        ShowBase.__init__(self)
        self.sun=loader.loadModel("smiley")
        self.sun.reparentTo(render)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值