mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-09 12:38:27 +02:00
Added toggle for voxel textures; they may be slowing some machines down.
This commit is contained in:
parent
2697453df4
commit
3f0fd2f976
4 changed files with 16 additions and 9 deletions
|
@ -1204,6 +1204,8 @@ void Application::initMenu() {
|
||||||
(_renderVoxels = renderMenu->addAction("Voxels"))->setCheckable(true);
|
(_renderVoxels = renderMenu->addAction("Voxels"))->setCheckable(true);
|
||||||
_renderVoxels->setChecked(true);
|
_renderVoxels->setChecked(true);
|
||||||
_renderVoxels->setShortcut(Qt::Key_V);
|
_renderVoxels->setShortcut(Qt::Key_V);
|
||||||
|
(_renderVoxelTextures = renderMenu->addAction("Voxel Textures"))->setCheckable(true);
|
||||||
|
_renderVoxelTextures->setChecked(true);
|
||||||
(_renderStarsOn = renderMenu->addAction("Stars"))->setCheckable(true);
|
(_renderStarsOn = renderMenu->addAction("Stars"))->setCheckable(true);
|
||||||
_renderStarsOn->setChecked(true);
|
_renderStarsOn->setChecked(true);
|
||||||
_renderStarsOn->setShortcut(Qt::Key_Asterisk);
|
_renderStarsOn->setShortcut(Qt::Key_Asterisk);
|
||||||
|
@ -1680,7 +1682,7 @@ void Application::displaySide(Camera& whichCamera) {
|
||||||
|
|
||||||
// Draw voxels
|
// Draw voxels
|
||||||
if (_renderVoxels->isChecked()) {
|
if (_renderVoxels->isChecked()) {
|
||||||
_voxels.render();
|
_voxels.render(_renderVoxelTextures->isChecked());
|
||||||
}
|
}
|
||||||
|
|
||||||
// indicate what we'll be adding/removing in mouse mode, if anything
|
// indicate what we'll be adding/removing in mouse mode, if anything
|
||||||
|
|
|
@ -134,6 +134,7 @@ private:
|
||||||
QAction* _lookingInMirror; // Are we currently rendering one's own head as if in mirror?
|
QAction* _lookingInMirror; // Are we currently rendering one's own head as if in mirror?
|
||||||
QAction* _gyroLook; // Whether to allow the gyro data from head to move your view
|
QAction* _gyroLook; // Whether to allow the gyro data from head to move your view
|
||||||
QAction* _renderVoxels; // Whether to render voxels
|
QAction* _renderVoxels; // Whether to render voxels
|
||||||
|
QAction* _renderVoxelTextures; // Whether to render noise textures on voxels
|
||||||
QAction* _renderStarsOn; // Whether to display the stars
|
QAction* _renderStarsOn; // Whether to display the stars
|
||||||
QAction* _renderAtmosphereOn; // Whether to display the atmosphere
|
QAction* _renderAtmosphereOn; // Whether to display the atmosphere
|
||||||
QAction* _renderAvatarsOn; // Whether to render avatars
|
QAction* _renderAvatarsOn; // Whether to render avatars
|
||||||
|
|
|
@ -617,7 +617,7 @@ void VoxelSystem::updateVBOs() {
|
||||||
_callsToTreesToArrays = 0; // clear it
|
_callsToTreesToArrays = 0; // clear it
|
||||||
}
|
}
|
||||||
|
|
||||||
void VoxelSystem::render() {
|
void VoxelSystem::render(bool texture) {
|
||||||
PerformanceWarning warn(_renderWarningsOn, "render()");
|
PerformanceWarning warn(_renderWarningsOn, "render()");
|
||||||
glPushMatrix();
|
glPushMatrix();
|
||||||
updateVBOs();
|
updateVBOs();
|
||||||
|
@ -635,9 +635,11 @@ void VoxelSystem::render() {
|
||||||
glBindBuffer(GL_ARRAY_BUFFER, _vboColorsID);
|
glBindBuffer(GL_ARRAY_BUFFER, _vboColorsID);
|
||||||
glColorPointer(3, GL_UNSIGNED_BYTE, 0, 0);
|
glColorPointer(3, GL_UNSIGNED_BYTE, 0, 0);
|
||||||
|
|
||||||
_perlinModulateProgram->bind();
|
if (texture) {
|
||||||
glBindTexture(GL_TEXTURE_2D, _permutationNormalTextureID);
|
_perlinModulateProgram->bind();
|
||||||
|
glBindTexture(GL_TEXTURE_2D, _permutationNormalTextureID);
|
||||||
|
}
|
||||||
|
|
||||||
// for performance, disable blending and enable backface culling
|
// for performance, disable blending and enable backface culling
|
||||||
glDisable(GL_BLEND);
|
glDisable(GL_BLEND);
|
||||||
glEnable(GL_CULL_FACE);
|
glEnable(GL_CULL_FACE);
|
||||||
|
@ -650,9 +652,11 @@ void VoxelSystem::render() {
|
||||||
glEnable(GL_BLEND);
|
glEnable(GL_BLEND);
|
||||||
glDisable(GL_CULL_FACE);
|
glDisable(GL_CULL_FACE);
|
||||||
|
|
||||||
_perlinModulateProgram->release();
|
if (texture) {
|
||||||
glBindTexture(GL_TEXTURE_2D, 0);
|
_perlinModulateProgram->release();
|
||||||
|
glBindTexture(GL_TEXTURE_2D, 0);
|
||||||
|
}
|
||||||
|
|
||||||
// deactivate vertex and color arrays after drawing
|
// deactivate vertex and color arrays after drawing
|
||||||
glDisableClientState(GL_VERTEX_ARRAY);
|
glDisableClientState(GL_VERTEX_ARRAY);
|
||||||
glDisableClientState(GL_NORMAL_ARRAY);
|
glDisableClientState(GL_NORMAL_ARRAY);
|
||||||
|
|
|
@ -36,7 +36,7 @@ public:
|
||||||
|
|
||||||
void init();
|
void init();
|
||||||
void simulate(float deltaTime) { };
|
void simulate(float deltaTime) { };
|
||||||
void render();
|
void render(bool texture);
|
||||||
|
|
||||||
unsigned long getVoxelsUpdated() const {return _voxelsUpdated;};
|
unsigned long getVoxelsUpdated() const {return _voxelsUpdated;};
|
||||||
unsigned long getVoxelsRendered() const {return _voxelsInReadArrays;};
|
unsigned long getVoxelsRendered() const {return _voxelsInReadArrays;};
|
||||||
|
|
Loading…
Reference in a new issue