Cogs.Core
Extensions
Terrain
Source
ClipmapDepthQuery.h
1
#pragma once
2
3
#include "ClipmapTerrainTypes.h"
4
5
#include "Rendering/IGraphicsDevice.h"
6
7
namespace
Cogs
8
{
9
struct
ClipmapRenderer;
10
11
struct
ClipmapDepthQuery
12
{
13
ClipmapDepthQuery
();
14
~ClipmapDepthQuery
();
15
16
void
initialize(
IGraphicsDevice
* device,
ClipmapRenderer
* clipmapRenderer);
17
18
void
readBack();
19
20
bool
getPositions(
const
Vector2 * mousePositions,
const
Matrix & inverseViewProjection,
const
size_t
numPositions, Vector4 * worldPos,
bool
* positionValid,
int
rayPickId);
21
28
float
getNearestTerrainSample
(
const
Matrix & inverseProjection);
29
36
float
getNearestTerrainSample2
(
const
Matrix & inverseProjection,
const
Matrix & viewMatrix);
37
38
private
:
39
IGraphicsDevice
* device;
40
BufferHandle
queryReadBackBuffer;
41
ClipmapRenderer
* clipmapRenderer;
42
bool
hasReadBack =
false
;
//set to true when first readback is complete
43
44
Vector4 prevViewPos;
45
Matrix prevViewMatrix;
46
};
47
}
Cogs::IGraphicsDevice
Represents a graphics device used to manage graphics resources and issue drawing commands.
Definition:
IGraphicsDevice.h:169
Cogs
Contains all Cogs related functionality.
Definition:
FieldSetter.h:23
Cogs::ClipmapDepthQuery
Definition:
ClipmapDepthQuery.h:12
Cogs::ClipmapDepthQuery::getNearestTerrainSample
float getNearestTerrainSample(const Matrix &inverseProjection)
Returns the nearest sample in the query readback buffer.
Definition:
ClipmapDepthQuery.cpp:124
Cogs::ClipmapDepthQuery::getNearestTerrainSample2
float getNearestTerrainSample2(const Matrix &inverseProjection, const Matrix &viewMatrix)
Returns the nearest sample in the query readback buffer for two frames.
Definition:
ClipmapDepthQuery.cpp:187
Cogs::ClipmapRenderer
Definition:
ClipmapRenderer.h:58
Cogs::Handle_t< BufferTag >
Generated by
1.9.6