mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-10 20:16:25 +02:00
116 lines
3.2 KiB
C++
116 lines
3.2 KiB
C++
//
|
|
// RenderArgs.h
|
|
// libraries/shared
|
|
//
|
|
// Created by Brad Hefta-Gaub on 10/29/14.
|
|
// Copyright 2013-2014 High Fidelity, Inc.
|
|
//
|
|
// Distributed under the Apache License, Version 2.0.
|
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
//
|
|
|
|
#ifndef hifi_RenderArgs_h
|
|
#define hifi_RenderArgs_h
|
|
|
|
class ViewFrustum;
|
|
class OctreeRenderer;
|
|
namespace gpu {
|
|
class Batch;
|
|
class Context;
|
|
}
|
|
|
|
class RenderArgs {
|
|
public:
|
|
enum RenderMode { DEFAULT_RENDER_MODE, SHADOW_RENDER_MODE, DIFFUSE_RENDER_MODE, NORMAL_RENDER_MODE, MIRROR_RENDER_MODE };
|
|
|
|
enum RenderSide { MONO, STEREO_LEFT, STEREO_RIGHT };
|
|
|
|
enum DebugFlags {
|
|
RENDER_DEBUG_NONE = 0,
|
|
RENDER_DEBUG_HULLS = 1,
|
|
RENDER_DEBUG_SIMULATION_OWNERSHIP = 2,
|
|
};
|
|
|
|
RenderArgs(gpu::Context* context = nullptr,
|
|
OctreeRenderer* renderer = nullptr,
|
|
ViewFrustum* viewFrustum = nullptr,
|
|
float sizeScale = 1.0f,
|
|
int boundaryLevelAdjust = 0,
|
|
RenderMode renderMode = DEFAULT_RENDER_MODE,
|
|
RenderSide renderSide = MONO,
|
|
DebugFlags debugFlags = RENDER_DEBUG_NONE,
|
|
gpu::Batch* batch = nullptr,
|
|
|
|
int elementsTouched = 0,
|
|
int itemsRendered = 0,
|
|
int itemsOutOfView = 0,
|
|
int itemsTooSmall = 0,
|
|
|
|
int meshesConsidered = 0,
|
|
int meshesRendered = 0,
|
|
int meshesOutOfView = 0,
|
|
int meshesTooSmall = 0,
|
|
|
|
int materialSwitches = 0,
|
|
int trianglesRendered = 0,
|
|
int quadsRendered = 0,
|
|
|
|
int translucentMeshPartsRendered = 0,
|
|
int opaqueMeshPartsRendered = 0) :
|
|
_context(context),
|
|
_renderer(renderer),
|
|
_viewFrustum(viewFrustum),
|
|
_sizeScale(sizeScale),
|
|
_boundaryLevelAdjust(boundaryLevelAdjust),
|
|
_renderMode(renderMode),
|
|
_renderSide(renderSide),
|
|
_debugFlags(debugFlags),
|
|
_batch(batch),
|
|
|
|
_elementsTouched(elementsTouched),
|
|
_itemsRendered(itemsRendered),
|
|
_itemsOutOfView(itemsOutOfView),
|
|
_itemsTooSmall(itemsTooSmall),
|
|
|
|
_meshesConsidered(meshesConsidered),
|
|
_meshesRendered(meshesRendered),
|
|
_meshesOutOfView(meshesOutOfView),
|
|
_meshesTooSmall(meshesTooSmall),
|
|
|
|
_materialSwitches(materialSwitches),
|
|
_trianglesRendered(trianglesRendered),
|
|
_quadsRendered(quadsRendered),
|
|
|
|
_translucentMeshPartsRendered(translucentMeshPartsRendered),
|
|
_opaqueMeshPartsRendered(opaqueMeshPartsRendered) {
|
|
}
|
|
|
|
gpu::Context* _context;
|
|
OctreeRenderer* _renderer;
|
|
ViewFrustum* _viewFrustum;
|
|
float _sizeScale;
|
|
int _boundaryLevelAdjust;
|
|
RenderMode _renderMode;
|
|
RenderSide _renderSide;
|
|
DebugFlags _debugFlags;
|
|
gpu::Batch* _batch;
|
|
|
|
int _elementsTouched;
|
|
int _itemsRendered;
|
|
int _itemsOutOfView;
|
|
int _itemsTooSmall;
|
|
|
|
int _meshesConsidered;
|
|
int _meshesRendered;
|
|
int _meshesOutOfView;
|
|
int _meshesTooSmall;
|
|
|
|
int _materialSwitches;
|
|
int _trianglesRendered;
|
|
int _quadsRendered;
|
|
|
|
int _translucentMeshPartsRendered;
|
|
int _opaqueMeshPartsRendered;
|
|
};
|
|
|
|
#endif // hifi_RenderArgs_h
|