mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 13:38:02 +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 <glm/glm.hpp>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
|
|
||||||
#include <PacketHeaders.h>
|
#include <PacketHeaders.h>
|
||||||
#include <SharedUtil.h>
|
#include <SharedUtil.h>
|
||||||
|
|
||||||
|
@ -31,7 +33,8 @@ public:
|
||||||
|
|
||||||
|
|
||||||
// Generic client side Octree renderer class.
|
// Generic client side Octree renderer class.
|
||||||
class OctreeRenderer {
|
class OctreeRenderer : public QObject {
|
||||||
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
OctreeRenderer();
|
OctreeRenderer();
|
||||||
virtual ~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