VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtInstanceDofProcessor.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
14 #include <vrvOsg/DtInstanceState.h>
15 
16 #include <tbb/cache_aligned_allocator.h>
17 
18 namespace makVrv
19 {
20  class DtInstanceManager;
21 
25  {
26  public:
29 
31  virtual ~DtInstanceDofProcessor();
32 
34  virtual void processRange( unsigned int instanceOffset, unsigned int instanceCount);
35 
36  protected:
37 
40  {
41  osg::Quat quat;
42  osg::Quat quatTemp;
44  std::vector<InstanceMatrix,
45  tbb::cache_aligned_allocator<InstanceMatrix> > matStack;
46  std::vector<unsigned int,
47  tbb::cache_aligned_allocator<unsigned int> > childCountStack;
48  };
49 
51  void updateDofRange( unsigned int instanceOffset, unsigned int instanceCount);
52 
54  bool isRangeVisible(unsigned int offset, unsigned int count);
55 
59  void updateDofs(DofUpdateStorage& localStorage, InstanceMatrix& baseSpatial,
60  unsigned int templateIx, const ArrayRange& dofRange, unsigned int drawableOffset, unsigned int matrixOffse);
61 
62  protected:
64  };
65 }
Contains makVrv::DtInstanceProcessor declaration.
Contains makVrv::DtInstanceState declaration.
Temporary data required during DOF processing.
Definition: DtInstanceDofProcessor.h:39
osg::Quat quat
Definition: DtInstanceDofProcessor.h:41
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
typedef int(ZCALLBACK *close_file_func) OF((voidpf opaque
Specifies a range of drawables in the drawable array.
Definition: DtInstanceState.h:20
Manages data for instanced rendering system and kicks off DtInstanceProcessors to update instance sta...
Definition: DtInstanceManager.h:75
osg::Matrixf InstanceMatrix
Type of osg matrix to use for transforms relative to instance base.
Definition: DtInstanceState.h:46
Instance processor to apply DOF hierarchies to instanced drawables.
Definition: DtInstanceDofProcessor.h:24
InstanceMatrix mat
Definition: DtInstanceDofProcessor.h:43
osg::Quat quatTemp
Definition: DtInstanceDofProcessor.h:42
std::vector< unsigned int, tbb::cache_aligned_allocator< unsigned int > > childCountStack
Definition: DtInstanceDofProcessor.h:47
Contains DLL export macros.
voidpf uLong offset
Definition: ioapi.h:42
DtInstanceManager & myInstanceManager
Definition: DtInstanceDofProcessor.h:63
std::vector< InstanceMatrix, tbb::cache_aligned_allocator< InstanceMatrix > > matStack
Definition: DtInstanceDofProcessor.h:45
Interface for a class that implements a per-frame instance processing step.
Definition: DtInstanceProcessor.h:21

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)