• (转)ogreUML类图


    At the very top of the diagram is the Root object. This is your 'way in' to the OGRE system, and it's where you tend to create the top-level objects that you need to deal with, like scene managers, rendering systems and render windows, loading plugins, all the fundamental stuff. If you don't know where to start, Root is it for almost everything, although often it will just give you another object which will actually do the detail work, since Root itself is more of an organiser and facilitator object. The majority of rest of OGRE's classes fall into one of 3 roles:
    Scene Management
    This is about the contents of your scene, how it's structured, how it's viewed from cameras, etc. Objects in this area are responsible for giving you a natural declarative interface to the world you're building; ie you don't tell OGRE "set these render states and then render 3 polygons", you tell it "I want an object here, here and here, with these materials on them, rendered from this view", and let it get on with it.
    Resource Management
    All rendering needs resources, whether it's geometry, textures, fonts, whatever. It's important to manage the loading, re-use and unloading of these things carefully, so that's what classes in this area do.
    Rendering
    Finally, there's getting the visuals on the screen - this is about the lower-level end of the rendering pipeline, the specific rendering system API objects like buffers, render states and the like and pushing it all down the pipeline. Classes in the Scene Management subsystem use this to get their higher-level scene information onto the screen.
    You'll notice that scattered around the edge are a number of plugins. OGRE is designed to be extended, and plugins are the usual way to go about it. Many of the classes in OGRE can be subclassed and extended, whether it's changing the scene organisation through a custom SceneManager, adding a new render system implementation (e.g. Direct3D or OpenGL), or providing a way to load resources from another source (say from a web location or a database). Again this is just a small smattering of the kinds of things plugins can do, but as you can see they can plug in to almost any aspect of the system. This way, OGRE isn't just a solution for one narrowly defined problem, it can extend to pretty much anything you need it to do.
  • 相关阅读:
    使用GO操作MongoDB
    解决golang时间字符串转time.Time的坑
    [Exercises on 2022.5.3] Dynamic Programming
    [Contest on 2022.5.13] 再这样熬夜我就要猝死了
    合成史莱姆
    [Contest on 2022.5.4] 痛啊!上周真的直接摆过去了!
    [Exercises on 2022.5.11] 字符串转风车煮饭吃蒸饭吃脂肪层
    [Contest on 2022.5.6] 手写 bitset 模板
    CodeForces 547E Mike and Friends
    [Contest on 2022.5.2] 端午节能放几天啊?
  • 原文地址:https://www.cnblogs.com/wonderKK/p/2380242.html
Copyright © 2020-2023  润新知