CN100527169C - Three-dimensional scene real-time drafting framework and drafting method - Google Patents

Three-dimensional scene real-time drafting framework and drafting method Download PDF

Info

Publication number
CN100527169C
CN100527169C CNB2005100869516A CN200510086951A CN100527169C CN 100527169 C CN100527169 C CN 100527169C CN B2005100869516 A CNB2005100869516 A CN B2005100869516A CN 200510086951 A CN200510086951 A CN 200510086951A CN 100527169 C CN100527169 C CN 100527169C
Authority
CN
China
Prior art keywords
drafting
scene
stage
layer
draw
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2005100869516A
Other languages
Chinese (zh)
Other versions
CN1763784A (en
Inventor
赵沁平
王莉莉
杨跃东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Beijing University of Aeronautics and Astronautics
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CNB2005100869516A priority Critical patent/CN100527169C/en
Publication of CN1763784A publication Critical patent/CN1763784A/en
Application granted granted Critical
Publication of CN100527169C publication Critical patent/CN100527169C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention discloses a three-dimensional scene real-time drafting frame of three-layer system, which is characterized by the following: the bottom layer is drafting language administration layer to call all states and drafting properties of different edition format drafting language; the medium layer contains slot administration, scenegraph administration, drafting graph administration and drafting administration mode; when the top layer displays the call requirement; the slot administration mode reads the model file to form scene image through scenegraph administration mode, which finishes App, Cull and Draw operation of scenegraph through drafting administration mode; the top layer provides interface layer for user, which provides convenient user call mechanism and message disposal mechanism.

Description

A kind of three-dimensional scene real-time drafting system
Technical field
The present invention relates to a kind of three-dimensional scene real-time drafting system.
Background technology
Virtual reality (Virtual Reality is called for short VR) technology is a kind of about complex art and method to the simulation of real world, experience true to nature.It relates to the knowledge of different field such as computer graphics, man-machine interface, sensing and artificial intelligence.Because human 80% information is to be obtained by vision, so, to the visual simulation and the visual experience true to nature of real world, be the important ingredient of virtual reality system.The technology that THREE DIMENSION GEOMETRIC MODELING technology, the modeling technique based on material resources, image combine with figure, photo realism graphic is played up the hot issue that gordian techniquies such as technology have become research efficiently.Virtual reality is an operation technique, has been widely used in multiple fields such as remote operation, education and training, information visualization and telecommunication under military affairs, space flight, design, the manufacturing, information management, commerce and trade, building, medical insurance, danger and the rugged surroundings at present.
The importance of virtual reality and necessity have been drawn large quantities of graphical development standards, and through competition and superseded, OpenGL becomes the 3D graphics industry standard of generally acknowledging in the world at present, is widely used on Unix and PC platform.OpenGL provides hundreds of built-in functions, can draw the 3D figure of the sense of reality easily, but the DLL (dynamic link library) of OpenGL is rudimentary C function, and reusable library of object or application framework are not provided, and development efficiency is not high.In order to overcome these difficulties, people often go up at graphics standard (OpenGL) and set up higher developing instrument.The OpenGVS of U.S. Quantum3D company is exactly a kind of operation platform of virtual environment, OpenGVS has certain virtual scene management function, the user interface of process type is provided, but OpenGVS also exists some limitations: the virtual scene that (1) OpenGVS provides is drawn cyclic process makes itself and emulation application constitute the relation of coupling closely, is unfavorable for the maintenance and expansion of emulation application; (2) OpenGVS only provides the user interface of process type, is difficult to and OO emulation application good binding; (3) OpenGVS does not support bottom is drawn the visit of element (as certain triangular facet of three-dimensional model), and some special-effects realize relatively difficulty, makes the multiple optimized Measures that improves system performance be difficult to realize yet.
Summary of the invention
Technology of the present invention is dealt with problems and is: overcome the deficiencies in the prior art, a kind of OO three-dimensional scene real-time drafting system is provided, this system provides user's call-by mechanism, message processing facility easily, has reached at the bottom of the degree of coupling purpose that extendability is strong and drafting efficient improves.
Technical solution of the present invention: the three-dimensional scene real-time drafting system, its characteristics are that it is made of three-layer architecture:
Top layer is user interface layer, and the calling interface of getting in touch with the middle layer is provided, and sends call request to the middle layer;
The middle layer, be core layer, by plug-in management, scene graph SceneGraph management, draw figure RenderGrarph management and draw the administration module composition, when top layer has call request, read the model file that is positioned at the outside by the plug-in management module, generate scene graph by the scene graph administration module then, call the drafting administration module at last SceneGraph is carried out App, Cull and three steps of Draw are drawn operation, scene state upgrades the App stage and imports the modification scene state according to the user, the scene visibility cutting Cull stage carries out observability according to the position of viewpoint to SceneGraph and rejects, and carry out the state handover optimization, call the RenderGrarph administration module then and generate RenderGraph, the color applying drawing Draw stage finishes and draws operation according to the drafting language that RenderGraph generates bottom;
Bottom for drawing language management layer CGAL, has encapsulated all states and the rendering attribute of the drafting language of the different editions specification that exists in the industry, calls when administration module is drawn for drawing.
When top layer has call request, read the model file that is positioned at the outside by the plug-in management module, generate scene graph by the scene graph administration module then, call the drafting administration module at last SceneGraph is carried out App, Cull and Draw three steps drafting operation: scene state upgrades App stage, scene visibility cutting CULL stage and color applying drawing DRAW stage, the APP stage is imported the modification scene state according to the user, adopt Visitor pattern traversal scene graph, handle the contextual data dynamic change; The Cull stage is adopted Visitor pattern traversal scene graph according to the position of viewpoint, scene graph is carried out view rejection carry out observability rejecting and LOD selection, generates and draws figure, and generation is towards the sequence of playing up of drafting, and this stage load concentrates on CPU fully; The Draw stage draws then according to drawing the drafting language that figure generates bottom, thereby has finished the drafting of a frame, and next frame continues circulation A PP, CULL and three steps of Draw, has finished the drafting of whole scene.
The present invention's beneficial effect compared with prior art is:
(1) adopted three-layer architecture, bottom has encapsulated all states and the rendering attribute of OpenGL for drawing the language management layer, can realize cross-platform drafting by the succession to bottom; The middle layer is a core layer, carries out the control of plug-in management, memory organization and the drawing process of model (comprising the solid model file, image file, audio files etc.) read-write; Top layer is a user interface layer, and user's call-by mechanism, the message processing facility of providing convenience have reached at the bottom of the degree of coupling, the purpose that extendability is strong.
(2) provide OO interface to the upper strata emulation application, can with good combination of OO upper strata emulation application.
(3) at physical environment complicacy and correlativity, two kinds of information stores models have been adopted: based on the SceneGraph that surrounds ball with towards the RenderGraph that draws.SceneGraph is a kind of static tree construction, when constructing, scene generates, and the function and the characteristics of the group node descriptive model of tree, leaf node has been preserved the information needed of drawing this model.According to the function and the characteristics of model, group node is divided into Group node, LOD node, DOF node, Light node etc.; RenderGraph is information subset of SceneGraph, only comprise and to send into the information of drawing pipeline, before each frame is drawn, need the traversal scene tree to generate one and play up sequence, can play up sequence to this and be optimized, to reach the purpose of playing up fast.
(4) at the demand of 3D scene real-time drafting, draw management and adopted three step method for drafting: App stage, Cull stage, Draw stage, the App stage is adopted Visitor pattern traversal scene graph, handles the contextual data dynamic change, as moving of object space, the variation of illumination etc.; The Cull stage is adopted Visitor pattern traversal scene graph, and scene graph is carried out view rejection, LOD selection etc., generates towards the sequence of playing up of drawing, and this stage load concentrates on CPU fully; The Draw stage is sent into and draws pipeline and draw playing up sequence, and this stage load mainly concentrates on GPU.Cull stage and Draw stage can be used the dynamic optimization strategy, can balanced CPU and the load of GPU by adjusting these strategies.
Description of drawings
Fig. 1 is a structural representation of the present invention;
Fig. 2 is that plug-in management module of the present invention realizes class figure;
Fig. 3 is a basic scene graph SceneGraph structural representation of the present invention;
Fig. 4 is for generating the SceneGraph exemplary plot;
Fig. 5 is the Composite pattern application class figure in the scene graph;
Fig. 6 be in the drawing engine scene kernel of graph calculation according to the inheritance figure of type;
Fig. 7 is the how much rendered object class figure of the scene graph SceneGraph among the present invention;
Fig. 8 is the rendering attribute class figure of scene graph SceneGraph among the present invention;
Fig. 9 is the assisted class figure of scene graph SceneGraph among the present invention;
Figure 10 is the structural representation of drafting figure RenderGraph of the present invention;
Figure 11 is the interaction figure of Visitor of the present invention and scenario node;
Figure 12 is a drafting process flow diagram of the present invention.
Embodiment
As shown in Figure 1, the present invention is made of three-layer architecture: bottom is for drawing language level of abstraction CGAL, belong to and draw the linguistic level management, encapsulated the drafting language of the different editions specification that exists in the industry, as all states and the rendering attribute of OpenGL or DirextX etc., call during for the management of the drafting in the nucleus module.
The middle layer, be core frame, carry out model file and (comprise the solid model file, material file, texture file, audio files and configuration file etc.) read-write plug-in management, the SceneGraph management, RenderGraph management and drafting management, wherein the plug-in management module is based on a functional module of card format design, this module provides a system extension form flexibly, adopt unified form to call pin function, utilize the plug-in management expanding system model file form that can read in easily, thereby can expand system more easily; The SceneGraph management is the management to SceneGraph, such as establishment, traversal, destruction etc.; The RenderGraph management is the management to kernel data structure RenderGraph, such as establishment, traversal, destruction etc.; Draw management mainly to the drawing process of scene graph SceneGraph, whole drawing process is divided into scene state and upgrades App, scene visibility cutting Cull and color applying drawing Draw three phases.
Top layer is the user interface management layer, user's call-by mechanism, the message processing facility of providing convenience, and it is low to have reached the degree of coupling, the purpose that extendability is strong, it comprises I/O I/O management, incident adapter adapter, VR application interface and incident feedback adaptation device.
When drawing, call request according to top layer (also being user interface layer), this request comprises message that various hardware devices send and from the method call of high-rise VR application program (as emulation platform), the plug-in management module of calling in the core layer reads required model file, generate SceneGraph by the SceneGraph administration module, call then and draw administration module carries out scene state renewal App, scene visibility cutting Cull and color applying drawing Draw three phases to SceneGraph drafting operation.
Plug-in management among the present invention mainly comprises two functions: read file and unified card i/f is provided.Read file and provide a uniform platform for the file that reads forms such as various three-dimensional models, sound, text, image, video.Fig. 2 is the realization class figure of plug-in management, program uses the form of Read (filename) to read file, after the plug-in management module receives this request, the Registry class judges that the suffix of filename finds corresponding read-write class ReaderWriter (also being concrete DLL), load this read-write class by the DynamicLibrary class then, and this read-write class is registered by the RegisterReaderWriterProxy class, after registration finishes, Registry could really use this read-write class, and the request of reading file is sent to the read-write class, and this read-write class is come the file of fetch program needs.It is that the user can increase other plug-in units according to this interface that a unified interface is provided, and does not need to revise core code.For example, increase a file that reads the jpg form if desired, the user only need construct a read-write class ReadWriterJPG who inherits in ReaderWriter, and realize that acceptsExtension () method, read () method and write () method get final product, acceptExtension () method provides the judgement to compatibility, and read () and write () method are finished concrete jpg file read-write.
SceneGraph administration module among the present invention mainly comprises two functions: generate SceneGraph and traversal SceneGraph.
(1) generates SceneGraph
By calling the plug-in management module, read corresponding file, generate SceneGraph by the SceneGraph management then, the basic scene graph that Fig. 3 generates for the present invention, the SceneGraph example of Fig. 4 for generating.
The fundamental purpose that generates scene graph is exactly to generate the scene graph with hierarchical structure by model file, also promptly constitute the scene graph skeleton by various Group nodes and Leaf node, all drafting elements (comprising information such as position, color, texture) are kept in the Leaf node.
In the building process of scene graph, meeting be that each node of this scene graph is set up the corresponding ball that surrounds automatically, and surrounding ball is the ball that can comprise the volume minimum of all drafting elements in the node.Surround ball and can represent the profile of this node, in ken cutting, collision detection, use the encirclement ball to replace actual node can accelerate cutting speed and collision detection speed.
After scene graph made up, the user carried out control operation to certain node if desired, need increase a call back function to this node, and call back function will be called in the APP stage of drawing management.
In the scene graph building process, the present invention has used the Composite Design Mode, and it is with the hierarchical structure of the synthetic tree structure of group of objects with expression " part one integral body ".Composite makes the user have consistance to the use of single object and compound object.As shown in Figure 5.
The key of Composite pattern is an abstract class, and it both can represent simple elements, can represent the container class of simple elements again.
In drawing scene graph, this abstract class is exactly Node, it states the operation that some are relevant with particular graphical object, for example ComputeBound (calculating bounding box), Traverse (transmission of traversal) etc., subclass Leaf, Group, LOD, Switch, Transform define the concrete operations of ComputeBound, Traverse etc. respectively.The Group class definition polymerization of a Node object.Operations such as the Traverse of Group, ComputeBound are to realize by loseing certainly of it being called corresponding operating.Because the Group interface is consistent with the Node interface, so the object of Group and subclass thereof can recursively make up other Group type ground objects.In brief, the Composite pattern makes container can comprise simple elements, also can comprise other containers.
In scene, have numerous dissimilar elements, such as illumination, material, texture, geometric configuration, LOD node, or the like, scene is divided into the data of different types node, these dissimilar node entities have constituted the scene graph of hierarchical structure.The uml class figure of Fig. 6 has represented the inheritance of main node.
Fig. 6,7,8,9 provides the inheritance class figure of the scene graph core data type of the SceneGraph that the present invention generates.SceneGraph class figure among the present invention has related to four kinds of data types:
A. basic scenario node type: as shown in Figure 6
The Reference type is used for reference count.All types is all inherited the class from Reference in the drawing engine; integrality in order to ensure all objects of fundamental node type in the drawing engine; all objects are by the drawing engine system held; do not allow on stack, to create object (controlling life cycle) by operating system; or call delete and destroy the object (secondary development personnel control) that exists in the heap; it is by utilizing the characteristic of C Plus Plus; destructor function is claimed as privately owned the realization; and the pointer of all objects is included in a template class refptr<T〉in; this template class heavy duty "=" number wait operation; realize application count, when being cited as zero, the Reference object oneself destroy.
Object is the base class of most of class, abstract I/O method, Clone method.
The Node type, the common base class of intermediate node and leaf node in the scene graph has the predicable and the operation of all scenario nodes, such as the calculating of bounding box, the transmission of traversal, the calling etc. of user's call back function.
The Group type, the base class of all scene graph intermediate form nodes, it has comprised the tabulation of a child node.
The Leaf type is represented the leaf node in the scene graph, and the container of nodes such as image and calling is provided geometric object
The base class of Transform space coordinate transformation class, it comprises a four-matrix, in the space of subtree after coordinate transform in the scene graph below the type node.Be used to produce dynamic effect.
The LOD type, the type of level of detail model, it allows according to the demonstration apart from switching model of current view point apart from the object center.It comprises the tabulation of a child node and the tabulation of indication range (Range), and the element of these two tabulations is corresponding one by one, and when the distance at viewpoint and object center was within indication range, the child node of correspondence was traveled through and draws.When the object distance viewpoint is far away, can replace the high precision model with the model of low precision, reduce and draw load.
The Switch type, it is a kind of simple but useful type of Group node type, it has the on off state tabulation of a child node, can control to travel through zero to whole subtrees.Can realize the demonstration of subgraph and close with the Switch node.
The Impostor type, the subtype of Group is responsible for the switching between how much draftings and the buffer texture drafting.It has two subtrees, comprises the information of solid and the information of buffer texture respectively.
B. how much rendered object types, as shown in Figure 7,
The DrawObject type, the abstract base class of how much rendered objects.It has stated the base attribute about rendered object, i.e. the use of display list whether with the rendering attribute state set.DrawObject comprises abstract method of operating: draw, generate display list, draw immediately.The object of DrawObject subtype can be held by the Leaf node, represents how much concrete drafting information.
The Geometry type is inherited in DrawObject, and the special disposal solid has carried out heavy duty according to the distinctive attribute of solid to the method for drafting of DrawObject.Solid comprises following information: position coordinates, texture coordinate, texture coordinate and color value etc., these information all are kept in the Geometry class.
C. rendering attribute type, as shown in Figure 8
The StateSet type has encapsulated drafting state and the attribute of OpengGL.Can comprise texture information such as it, and by the object reference of DrawObject subtype.StateSet can be shared the state variation expense of saving in the graphics process flow process by a plurality of how much rendered objects.
The StateAtrrib type, the base class of concrete rendering attribute comprises Virtual Functions such as editor's display list, demonstration immediately, and rendering attributes such as illumination Light, texture Texture, material Material are all inherited in it.
Primitive provides the base class that uses array to draw, and represents a kind of pel, based on the vertex normal of array etc.
The Texture type, the empty class of texture type.
The Sprite type, the subtype of Texture type except that the characteristic with texture, has realized functions such as generation buffer texture and preservation buffer texture.
D. auxiliary type, as shown in Figure 9
The Camera type has encapsulated attributes such as viewpoint position, direction and projection focal length, and it is for the secondary development personnel, and the function of analog camera to drawing engine inside, is then created view and model matrix.
The Matrix type provides the expression of matrix and the operation commonly used of matrix.Can constitute the matrix of fundamental figure map function, as translation, rotation matrix; Can constitute projective transformation matrix, as the matrix of perspective projection and parallel projection; Can the component model viewing matrix; Matrix left and right sides multiplication is provided, inverts; Matrix and operations such as product calculation three-dimensional, four-dimensional vector are provided.
The Vector type provides two dimension, three-dimensional, four-dimensional vectorial operation.
(2) traversal SceneGraph
In drawing engine, need carry out the different ergodic process of function to scene graph, for example App travels through, and calls user's registered callbacks function of each node; The Cull traversal is carried out visibility cutting etc.Use Visitor pattern traversal scene graph in the present invention, use the Visitor pattern can unified expression to act on the type safety operation (TypeSafe Operations) of all node objects in the scene graph, it makes to give a definition in the prerequisite of the class that does not change each element and acts on the new operation of these elements.
Traveling through these abstract is a base class NodeVisitor, use the mode of two-way sending (Double Dispatch), this mode means that the operation that obtains carrying out is decided by the kind of asking and two recipients' type: call Node::Accept (NodeVisitor*) and accept traversal type; The Node object with oneself (this pointer) as parameter, call NodeVisitor::Apply (Node*); Operation is called Node::Traverse (NodeVisitor*) after finishing, equally with NodeVisitor oneself as parameter.Node according to the traversal mode, calls accept (NodeVisitor) function of child node or father node in this function.Figure 10 has shown the interaction figure of Visitor pattern, and in this process, the apply function of NodeVisitor is an overload function, have different apply to realize body according to different types, so it can call corresponding operation according to the node type of importing into.
Visitor makes the kernel data structure in the scene graph be separated with its operation of visit, greatly reduces the degree of coupling of program, can inherit NodeVisitor, the behavior of expansion traversal; Scene graph part also can the growth data type, and only need define new processing function Visitor one side.
RenderGraph administration module among the present invention mainly comprises two functions: generate RenderGraph and traversal RenderGraph.The process that generates the RenderGraph structure is fairly simple, this function was called in the CULL stage of drawing management, its main effect is constituting one through the drafting element after the CULL stage (through cutting and optimization) the fixedly structure of level to be arranged, and also is RenderGraph.Figure 11 generates the RenderGraph synoptic diagram, wherein:
(1) it has fixedly tree hierarchy, and the degree of depth of tree is 4 forever.
(2) Render Graph has only stored the information of drawing element DrawObject among the Scene Graph.In the Cull process, a DrawObject generates a RenderObject.
Comprise the set of Render Bin among the Render Graph, can increase, delete Render Bin.When drawing RenderGraph, all Render Bin that it comprises will be drawn successively.
Render Bin purpose is to distinguish no drafting element, for example all transparent substances are put among the RenderBin, all nontransparent objects are put among the RenderBin, and each RenderBin is comprising the set of Render Group, can increase, delete Render Group.When drawing Render Bin, all Render Group that it comprises will be drawn successively.Render Group is one group of set of drawing element, also is the set of Render Object, can increase, delete RenderObject.When drawing Render Group, all Render Object that it comprises will be drawn successively.Render Object is base unit in the RenderGraph drawing process, finally all will be transformed into drafting for Render Object for the drafting of each RenderGraph.
SceneGraph is through behind the CULL, and visible drafting element has directly constituted RenderObject, and hangs under the RenderGroup and constituted RenderGraph, will use this RenderGraph in the Draw stage of drawing management.
Traversal RenderGraph need travel through RenderGraph in the Draw stage of drawing management, and wherein RenderObject is also promptly drawn element send into and draw pipeline and draw, because RenderGraph is relatively simple for structure, and in order to improve traversal speed, the mode of continuous traversal travels through it before having adopted.
Drawing administration module is a very important module in the whole drafting framework, its control scene drawing flow process.This drawing process adopts open structure based on OO thought, makes it to be easy in conjunction with multiple fast drawing method.In the realization, adopt the Visitor pattern traversal scene graph in the SceneGraph administration module.Each frame drawing process can be divided into three step: App, Cull and Draw three phases, and preceding two steps all are the traversing operations at SceneGraph, last step then is the traversal of carrying out at RenderGraph, as shown in figure 12.
(1) the App stage
The target in this stage is to handle the contextual data dynamic change, before each frame is drawn, necessity of contextual data is revised, and moves the variation of illumination etc. as object space.The factor that causes contextual data to change comprises the mutual of user, as, viewpoint moves etc. in the roam procedure; Mutual in the scene between the various objects is as the collision of inter-entity etc.; Here change and mainly realize by the call back function of registering on each node among the Scene Graph.
App by calling SceneGraph administration module traversal Scene Graph, carries out the call back function of registering on each node in the stage, changes the content of this node storage, as matrix, and the geometric data of dough sheet, texture and material etc.In addition, for the Cull stage is done the preparation of some necessity, the node that changes as the mark occurrence positions etc.
(2) the Cull stage
This stage is according to the characteristics of scene and application, and as the rate of blocking of scene, the speed that viewpoint moves etc. are selected the application strategy of fast drawing method, contextual data is for further processing, and generates the Scene Graph that is suitable for drawing and draw index structure.
The Cull stage at first travels through Scene Graph structure, according to view rejection and LOD, rejects invisible node, and generates drafting node index Render Graph; Adopt the optimization of condition managing optimisation strategy to make that the state switching times is the least possible then, at last to Render Graph;
In order to optimize drawing process, the Managed Solution of employing state ordering, behind traversal SceneGraph, by operations such as view rejections, generated required drafting element, these are drawn in the element and have comprised the summit, texture, information such as illumination, if directly draw and constitute RenderGraph by these, draw by the Draw stage then, in the OpenGL drawing process, if former and later two draw elementary state difference (such as texture), when drawing second element, just need to switch the state among the OpenGL, this is an operation very consuming time, in order to reduce switching times, has adopted the strategy of state ordering to carry out the state ordering to drawing element, for example the identical drafting element of state is put together as much as possible, constitute RenderGraph by the drafting element after these orderings then, this with regard to the time introduce at Draw stage condition switching times, improve and draw efficient.
(3) the Draw stage
This stage further processes Render Graph and optimizes, and makes it to be suitable for generating rendering order, finally finishes drawing process.
The Draw stage will travel through Render Graph, simplify hierarchical structure, and make corresponding calculated, as, final transformation matrixs in the solving model space (translation, a rotation equal matrix of drawing element multiplied each other) etc. call the drafting platform interface again, generate rendering order, and pass to OpenGL, finish drafting.

Claims (2)

1, a kind of three-dimensional scene real-time drafting system is characterized in that being made of three-layer architecture:
Top layer is user interface layer, and the calling interface of getting in touch with the middle layer is provided, and sends call request to the middle layer;
The middle layer, be core layer, by plug-in management, the scene graph management, draw the figure management and draw the administration module composition, when top layer has call request, read the model file that is positioned at the outside by the plug-in management module, generate scene graph by the scene graph administration module then, call the drafting administration module at last scene graph is carried out the drafting operation of three steps: scene state upgrades the App stage, scene visibility cutting Cull stage and color applying drawing Draw stage, scene state upgrades the App stage and imports the modification scene state according to the user, adopt Visitor pattern traversal scene graph, handle the contextual data dynamic change; The scene visibility cutting Cull stage is adopted Visitor pattern traversal scene graph according to the position of viewpoint, scene graph is carried out observability reject, and carry out the state handover optimization, calls drafting figure administration module then and generates drafting figure; The color applying drawing Draw stage is according to drawing the drafting language that figure generates bottom, draw operation, finished the drafting of a frame, next frame continues the circulation scene state and upgrades App stage, scene visibility cutting Cull stage and three steps of color applying drawing Draw stage, thereby has finished the drafting of whole scene;
Bottom for drawing language management layer CGAL, has encapsulated all states and the rendering attribute of the drafting language of the different editions specification that exists in the industry, calls when administration module is drawn for drawing.
2, three-dimensional scene real-time drafting according to claim 1 system is characterized in that: described scene graph administration module adopts the Composite pattern to generate scene graph.
CNB2005100869516A 2005-11-23 2005-11-23 Three-dimensional scene real-time drafting framework and drafting method Expired - Fee Related CN100527169C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100869516A CN100527169C (en) 2005-11-23 2005-11-23 Three-dimensional scene real-time drafting framework and drafting method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100869516A CN100527169C (en) 2005-11-23 2005-11-23 Three-dimensional scene real-time drafting framework and drafting method

Publications (2)

Publication Number Publication Date
CN1763784A CN1763784A (en) 2006-04-26
CN100527169C true CN100527169C (en) 2009-08-12

Family

ID=36747903

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100869516A Expired - Fee Related CN100527169C (en) 2005-11-23 2005-11-23 Three-dimensional scene real-time drafting framework and drafting method

Country Status (1)

Country Link
CN (1) CN100527169C (en)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101339667B (en) * 2008-05-27 2010-06-02 中国科学院计算技术研究所 Dummy dynamic population visibility judging method
CN101819684B (en) * 2010-04-12 2012-06-20 长春理工大学 Spatial acceleration structure for virtual three-dimensional scene of animated film and creation and update method thereof
CN101882323B (en) * 2010-05-19 2012-06-13 北京航空航天大学 Microstructure surface global illumination real-time rendering method based on height map
CN101986710B (en) * 2010-11-03 2012-06-20 北京航空航天大学 Sort-last system structure-based parallel drawing system
US9058697B2 (en) * 2011-04-28 2015-06-16 Intel Corporation Depth of field rasterization by culling regions on a lens from which a convex polygon to be rendered is not visible
CN102867284B (en) * 2011-07-07 2016-10-26 腾讯科技(深圳)有限公司 A kind of graph drawing engine device and its implementation
CN102662674B (en) * 2012-04-12 2015-12-02 铁道第三勘察设计院集团有限公司 Engineering Three-dimensional Simulation System universal developing platform construction method
WO2014019127A1 (en) 2012-07-31 2014-02-06 Intel Corporation (A Corporation Of Delaware) Hybrid rendering systems and methods
CN103679800B (en) * 2013-11-21 2017-09-01 北京航空航天大学 A kind of video image virtual scene generation system and its framework building method
GB2524287B (en) * 2014-03-19 2020-07-01 Advanced Risc Mach Ltd Graphics processing systems
CN103942306B (en) * 2014-04-18 2017-04-19 重庆市勘测院 Three-dimensional city model self-adaption scheduling method
CN105976433B (en) * 2016-04-29 2018-11-27 中国铁路设计集团有限公司 It is a kind of from face to the inheritance method of body attribute
CN108268257B (en) * 2016-12-29 2021-06-08 福建省天奕网络科技有限公司 Line track drawing method and system applied to VR scene
CN108537874A (en) * 2017-03-01 2018-09-14 黎志毅 The method that three-dimensional light data is automatically switched to UE4
CN111833429A (en) * 2019-04-04 2020-10-27 厦门雅基软件有限公司 Three-dimensional game rendering method, three-dimensional engine, electronic device and readable storage medium
CN112395101B (en) * 2020-10-12 2021-07-20 天津航天中为数据系统科技有限公司 Big data fast rendering method based on bidirectional data processing mechanism
CN112215935B (en) * 2020-12-02 2021-04-16 江西博微新技术有限公司 LOD model automatic switching method and device, electronic equipment and storage medium
CN114356295B (en) * 2021-12-24 2023-05-26 北京有竹居网络技术有限公司 Three-dimensional model construction method and device and electronic equipment

Also Published As

Publication number Publication date
CN1763784A (en) 2006-04-26

Similar Documents

Publication Publication Date Title
CN100527169C (en) Three-dimensional scene real-time drafting framework and drafting method
US5712964A (en) Computer graphics data display device and method based on a high-speed generation of a changed image
US7050955B1 (en) System, method and data structure for simulated interaction with graphical objects
Piekarski et al. An object-oriented software architecture for 3D mixed reality applications
Krecklau et al. Generalized use of non‐terminal symbols for procedural modeling
Behzadan et al. Integrated information modeling and visual simulation of engineering operations using dynamic augmented reality scene graphs
Liu Three-dimensional visualized urban landscape planning and design based on virtual reality technology
KR100915209B1 (en) Automatic Modeling And Navigation System for Solid Builing Plane And Internal in Base of XML, And Method Thereof
CN105701851B (en) A kind of 3 d rendering engine system based on geography information
CN104183023A (en) Multi-scene graph construction method in distributed virtual environment
CN105701103A (en) Geographic information based three-dimensional application system
US11789918B2 (en) Volumetric vector node and object based multi-dimensional operating system
Marir et al. OSCONCAD: A model-based CAD system integrated with computer applications
Van Oosterom et al. Bridging the worlds of CAD and GIS
CN104462688B (en) A kind of electric network information equipment operating simulation system
CN116152451A (en) Multidimensional parameterized city information model construction method, system and computer equipment
Xing et al. MR environments constructed for a large indoor physical space
Peinecke Is OpenSceneGraph an option for ESVS displays?
Klima et al. Semantic information visualization
Zhang Application and Research of Venue Construction System Based on Unity 3D
Karydakis Simplification & Visualization of BIM models through Hololens
He Interactive Virtual Reality Indoor Space Roaming System Based on 3D Vision
Tao et al. The VRP and the subway station passenger guidance system
Ma et al. Research on event-driven model construction method in linear reference system
CN110535935A (en) A kind of loading method and framework based on the unified storage of more power station three-dimensional model datas

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090812

Termination date: 20131123