mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-04-23 12:39:24 -05:00
Merge branch 'feature/rosetta' into develop
This commit is contained in:
@@ -231,6 +231,11 @@ void RenderableTrail::update(const UpdateData& data) {
|
||||
|
||||
psc pscPos = PowerScaledCoordinate::CreatePowerScaledCoordinate(p.x, p.y, p.z);
|
||||
|
||||
static int NVALUES = 0;
|
||||
if (nValues > NVALUES) {
|
||||
LINFO(nValues);
|
||||
NVALUES = nValues;
|
||||
}
|
||||
|
||||
pscPos[3] += 3; // KM to M
|
||||
_vertexArray[0] = { pscPos[0], pscPos[1], pscPos[2], pscPos[3] };
|
||||
@@ -240,9 +245,10 @@ void RenderableTrail::update(const UpdateData& data) {
|
||||
// close to 1
|
||||
|
||||
// But you never know
|
||||
nValues = std::min(nValues, int(_vertexArray.size() - 1));
|
||||
//nValues = std::min(nValues, int(_vertexArray.size() - 1));
|
||||
//LINFO(nValues);
|
||||
std::vector<TrailVBOLayout> tmp = _vertexArray;
|
||||
std::vector<TrailVBOLayout> tmp(nValues);
|
||||
//std::vector<TrailVBOLayout> tmp = _vertexArray;
|
||||
|
||||
for (int i = nValues; i > 0; --i) {
|
||||
double et = _oldTime + i * _increment;
|
||||
@@ -254,11 +260,13 @@ void RenderableTrail::update(const UpdateData& data) {
|
||||
SpiceManager::ref().targetPosition(_target, _observer, _frame, {}, et, lightTime);
|
||||
pscPos = PowerScaledCoordinate::CreatePowerScaledCoordinate(p.x, p.y, p.z);
|
||||
pscPos[3] += 3;
|
||||
_vertexArray[i] = { pscPos[0], pscPos[1], pscPos[2], pscPos[3] };
|
||||
tmp[nValues - i] = { pscPos[0], pscPos[1], pscPos[2], pscPos[3] };
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < tmp.size() - (nValues + 1); ++i)
|
||||
_vertexArray[nValues + 1 + i] = tmp[i + 1];
|
||||
size_t size = _vertexArray.size();
|
||||
_vertexArray.insert(_vertexArray.begin() + 1, tmp.begin(), tmp.end());
|
||||
_vertexArray.resize(size);
|
||||
|
||||
_oldTime += nValues * _increment;
|
||||
}
|
||||
|
||||
|
||||
@@ -198,6 +198,7 @@ bool RenderableModelProjection::initialize() {
|
||||
"${MODULE_NEWHORIZONS}/shaders/modelShader_vs.glsl",
|
||||
"${MODULE_NEWHORIZONS}/shaders/modelShader_fs.glsl");
|
||||
|
||||
|
||||
if (!_programObject)
|
||||
return false;
|
||||
}
|
||||
@@ -207,6 +208,7 @@ bool RenderableModelProjection::initialize() {
|
||||
_fboProgramObject = ghoul::opengl::ProgramObject::Build("ProjectionPass",
|
||||
"${MODULE_NEWHORIZONS}/shaders/projectionPass_vs.glsl",
|
||||
"${MODULE_NEWHORIZONS}/shaders/projectionPass_fs.glsl");
|
||||
_fboProgramObject->setIgnoreUniformLocationError(ghoul::opengl::ProgramObject::IgnoreError::Yes);
|
||||
if (!_fboProgramObject)
|
||||
return false;
|
||||
}
|
||||
@@ -408,7 +410,8 @@ void RenderableModelProjection::update(const UpdateData& data) {
|
||||
}
|
||||
|
||||
void RenderableModelProjection::imageProjectGPU() {
|
||||
|
||||
glDisable(GL_DEPTH_TEST);
|
||||
|
||||
// keep handle to the current bound FBO
|
||||
GLint defaultFBO;
|
||||
glGetIntegerv(GL_FRAMEBUFFER_BINDING, &defaultFBO);
|
||||
@@ -446,12 +449,13 @@ void RenderableModelProjection::imageProjectGPU() {
|
||||
glBindVertexArray(0);
|
||||
|
||||
_fboProgramObject->deactivate();
|
||||
glDisable(GL_BLEND);
|
||||
//glDisable(GL_BLEND);
|
||||
//bind back to default
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, defaultFBO);
|
||||
glViewport(m_viewport[0], m_viewport[1],
|
||||
m_viewport[2], m_viewport[3]);
|
||||
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
}
|
||||
|
||||
void RenderableModelProjection::attitudeParameters(double time) {
|
||||
|
||||
Reference in New Issue
Block a user