mirror of
https://github.com/AleziaKurdis/overte.git
synced 2025-04-16 07:39:11 +02:00
early cut at headless viewers
This commit is contained in:
parent
5b1037cc63
commit
e96206914e
7 changed files with 199 additions and 1 deletions
23
libraries/octree/src/OctreeHeadlessViewer.cpp
Normal file
23
libraries/octree/src/OctreeHeadlessViewer.cpp
Normal file
|
@ -0,0 +1,23 @@
|
|||
//
|
||||
// OctreeHeadlessViewer.cpp
|
||||
// hifi
|
||||
//
|
||||
// Created by Brad Hefta-Gaub on 2/26/14
|
||||
// Copyright (c) 2014 High Fidelity, Inc. All rights reserved.
|
||||
//
|
||||
//
|
||||
|
||||
#include "OctreeHeadlessViewer.h"
|
||||
|
||||
OctreeHeadlessViewer::OctreeHeadlessViewer() :
|
||||
OctreeRenderer() {
|
||||
}
|
||||
|
||||
OctreeHeadlessViewer::~OctreeHeadlessViewer() {
|
||||
}
|
||||
|
||||
void OctreeHeadlessViewer::init() {
|
||||
OctreeRenderer::init();
|
||||
setViewFrustum(&_viewFrustum);
|
||||
}
|
||||
|
34
libraries/octree/src/OctreeHeadlessViewer.h
Normal file
34
libraries/octree/src/OctreeHeadlessViewer.h
Normal file
|
@ -0,0 +1,34 @@
|
|||
//
|
||||
// OctreeHeadlessViewer.h
|
||||
// hifi
|
||||
//
|
||||
// Created by Brad Hefta-Gaub on 2/26/14
|
||||
// Copyright (c) 2014 High Fidelity, Inc. All rights reserved.
|
||||
//
|
||||
//
|
||||
|
||||
#ifndef __hifi__OctreeHeadlessViewer__
|
||||
#define __hifi__OctreeHeadlessViewer__
|
||||
|
||||
#include <PacketHeaders.h>
|
||||
#include <SharedUtil.h>
|
||||
#include "Octree.h"
|
||||
#include "OctreeRenderer.h"
|
||||
#include "Octree.h"
|
||||
#include "ViewFrustum.h"
|
||||
|
||||
// Generic client side Octree renderer class.
|
||||
class OctreeHeadlessViewer : public OctreeRenderer {
|
||||
Q_OBJECT
|
||||
public:
|
||||
OctreeHeadlessViewer();
|
||||
virtual ~OctreeHeadlessViewer();
|
||||
virtual void renderElement(OctreeElement* element, RenderArgs* args) { /* swallow these */ };
|
||||
|
||||
virtual void init();
|
||||
virtual void render() { /* swallow these */ };
|
||||
private:
|
||||
ViewFrustum _viewFrustum;
|
||||
};
|
||||
|
||||
#endif /* defined(__hifi__OctreeHeadlessViewer__) */
|
|
@ -13,6 +13,8 @@
|
|||
#include <glm/glm.hpp>
|
||||
#include <stdint.h>
|
||||
|
||||
#include <QObject>
|
||||
|
||||
#include <PacketHeaders.h>
|
||||
#include <SharedUtil.h>
|
||||
|
||||
|
@ -31,7 +33,8 @@ public:
|
|||
|
||||
|
||||
// Generic client side Octree renderer class.
|
||||
class OctreeRenderer {
|
||||
class OctreeRenderer : public QObject {
|
||||
Q_OBJECT
|
||||
public:
|
||||
OctreeRenderer();
|
||||
virtual ~OctreeRenderer();
|
||||
|
|
36
libraries/particles/src/ParticleTreeHeadlessViewer.cpp
Normal file
36
libraries/particles/src/ParticleTreeHeadlessViewer.cpp
Normal file
|
@ -0,0 +1,36 @@
|
|||
//
|
||||
// ParticleTreeHeadlessViewer.cpp
|
||||
// hifi
|
||||
//
|
||||
// Created by Brad Hefta-Gaub on 2/26/14
|
||||
// Copyright (c) 2014 High Fidelity, Inc. All rights reserved.
|
||||
//
|
||||
//
|
||||
|
||||
#include "ParticleTreeHeadlessViewer.h"
|
||||
|
||||
ParticleTreeHeadlessViewer::ParticleTreeHeadlessViewer() :
|
||||
OctreeHeadlessViewer() {
|
||||
}
|
||||
|
||||
ParticleTreeHeadlessViewer::~ParticleTreeHeadlessViewer() {
|
||||
}
|
||||
|
||||
void ParticleTreeHeadlessViewer::init() {
|
||||
OctreeHeadlessViewer::init();
|
||||
}
|
||||
|
||||
|
||||
void ParticleTreeHeadlessViewer::update() {
|
||||
if (_tree) {
|
||||
ParticleTree* tree = static_cast<ParticleTree*>(_tree);
|
||||
if (tree->tryLockForWrite()) {
|
||||
tree->update();
|
||||
tree->unlock();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ParticleTreeHeadlessViewer::processEraseMessage(const QByteArray& dataByteArray, const SharedNodePointer& sourceNode) {
|
||||
static_cast<ParticleTree*>(_tree)->processEraseMessage(dataByteArray, sourceNode);
|
||||
}
|
42
libraries/particles/src/ParticleTreeHeadlessViewer.h
Normal file
42
libraries/particles/src/ParticleTreeHeadlessViewer.h
Normal file
|
@ -0,0 +1,42 @@
|
|||
//
|
||||
// ParticleTreeHeadlessViewer.h
|
||||
// hifi
|
||||
//
|
||||
// Created by Brad Hefta-Gaub on 2/26/14
|
||||
// Copyright (c) 2014 High Fidelity, Inc. All rights reserved.
|
||||
//
|
||||
//
|
||||
|
||||
#ifndef __hifi__ParticleTreeHeadlessViewer__
|
||||
#define __hifi__ParticleTreeHeadlessViewer__
|
||||
|
||||
#include <PacketHeaders.h>
|
||||
#include <SharedUtil.h>
|
||||
#include <Octree.h>
|
||||
#include <OctreePacketData.h>
|
||||
#include <OctreeHeadlessViewer.h>
|
||||
#include "ParticleTree.h"
|
||||
#include <ViewFrustum.h>
|
||||
|
||||
// Generic client side Octree renderer class.
|
||||
class ParticleTreeHeadlessViewer : public OctreeHeadlessViewer {
|
||||
Q_OBJECT
|
||||
public:
|
||||
ParticleTreeHeadlessViewer();
|
||||
virtual ~ParticleTreeHeadlessViewer();
|
||||
|
||||
virtual Octree* createTree() { return new ParticleTree(true); }
|
||||
virtual NodeType_t getMyNodeType() const { return NodeType::ParticleServer; }
|
||||
virtual PacketType getMyQueryMessageType() const { return PacketTypeParticleQuery; }
|
||||
virtual PacketType getExpectedPacketType() const { return PacketTypeParticleData; }
|
||||
|
||||
void update();
|
||||
|
||||
ParticleTree* getTree() { return (ParticleTree*)_tree; }
|
||||
|
||||
void processEraseMessage(const QByteArray& dataByteArray, const SharedNodePointer& sourceNode);
|
||||
|
||||
virtual void init();
|
||||
};
|
||||
|
||||
#endif /* defined(__hifi__ParticleTreeHeadlessViewer__) */
|
22
libraries/voxels/src/VoxelTreeHeadlessViewer.cpp
Normal file
22
libraries/voxels/src/VoxelTreeHeadlessViewer.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
//
|
||||
// VoxelTreeHeadlessViewer.cpp
|
||||
// hifi
|
||||
//
|
||||
// Created by Brad Hefta-Gaub on 2/26/14
|
||||
// Copyright (c) 2014 High Fidelity, Inc. All rights reserved.
|
||||
//
|
||||
//
|
||||
|
||||
#include "VoxelTreeHeadlessViewer.h"
|
||||
|
||||
VoxelTreeHeadlessViewer::VoxelTreeHeadlessViewer() :
|
||||
OctreeHeadlessViewer() {
|
||||
}
|
||||
|
||||
VoxelTreeHeadlessViewer::~VoxelTreeHeadlessViewer() {
|
||||
}
|
||||
|
||||
void VoxelTreeHeadlessViewer::init() {
|
||||
OctreeHeadlessViewer::init();
|
||||
}
|
||||
|
38
libraries/voxels/src/VoxelTreeHeadlessViewer.h
Normal file
38
libraries/voxels/src/VoxelTreeHeadlessViewer.h
Normal file
|
@ -0,0 +1,38 @@
|
|||
//
|
||||
// VoxelTreeHeadlessViewer.h
|
||||
// hifi
|
||||
//
|
||||
// Created by Brad Hefta-Gaub on 2/26/14
|
||||
// Copyright (c) 2014 High Fidelity, Inc. All rights reserved.
|
||||
//
|
||||
//
|
||||
|
||||
#ifndef __hifi__VoxelTreeHeadlessViewer__
|
||||
#define __hifi__VoxelTreeHeadlessViewer__
|
||||
|
||||
#include <PacketHeaders.h>
|
||||
#include <SharedUtil.h>
|
||||
#include <Octree.h>
|
||||
#include <OctreePacketData.h>
|
||||
#include <OctreeHeadlessViewer.h>
|
||||
#include "VoxelTree.h"
|
||||
#include <ViewFrustum.h>
|
||||
|
||||
// Generic client side Octree renderer class.
|
||||
class VoxelTreeHeadlessViewer : public OctreeHeadlessViewer {
|
||||
Q_OBJECT
|
||||
public:
|
||||
VoxelTreeHeadlessViewer();
|
||||
virtual ~VoxelTreeHeadlessViewer();
|
||||
|
||||
virtual Octree* createTree() { return new VoxelTree(true); }
|
||||
virtual NodeType_t getMyNodeType() const { return NodeType::VoxelServer; }
|
||||
virtual PacketType getMyQueryMessageType() const { return PacketTypeVoxelQuery; }
|
||||
virtual PacketType getExpectedPacketType() const { return PacketTypeVoxelData; }
|
||||
|
||||
VoxelTree* getTree() { return (VoxelTree*)_tree; }
|
||||
|
||||
virtual void init();
|
||||
};
|
||||
|
||||
#endif /* defined(__hifi__VoxelTreeHeadlessViewer__) */
|
Loading…
Reference in a new issue