mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-01-05 19:19:39 -06:00
Recentering at Pluto,
Todo - add NH with kernels.
This commit is contained in:
@@ -68,7 +68,9 @@ private:
|
||||
|
||||
glm::dmat3 _stateMatrix;
|
||||
|
||||
std::string _frame;
|
||||
std::string _target;
|
||||
double _time;
|
||||
};
|
||||
|
||||
} // namespace openspace
|
||||
|
||||
Submodule openspace-data updated: 1ea4e0ac37...789072edac
@@ -1,7 +1,5 @@
|
||||
--openspace.setPropertyValue('Earth.renderable.colorTexture', '${OPENSPACE_DATA}/modules/mars/textures/mars.png')
|
||||
--openspace.time.setTime("2007-01-08T20:42:01.359") -- far
|
||||
--openspace.time.setTime("2007-02-10T13:30:01.359") -- 4x4
|
||||
openspace.time.setTime("2007-02-27T16:30:00.000") -- close
|
||||
openspace.time.setTime("2015-07-14T09:19:00.557") -- pluto
|
||||
|
||||
--openspace.time.setDeltaTime(200000.0)
|
||||
--openspace.time.setDeltaTime(5000.00)
|
||||
|
||||
@@ -28,6 +28,9 @@ uniform vec4 campos;
|
||||
uniform vec4 objpos;
|
||||
//uniform vec3 camdir; // add this for specular
|
||||
|
||||
uniform vec3 sun_pos;
|
||||
|
||||
uniform int shadows;
|
||||
|
||||
uniform float time;
|
||||
uniform sampler2D texture1;
|
||||
@@ -53,9 +56,9 @@ void main()
|
||||
|
||||
vec3 n = normalize(vs_normal.xyz);
|
||||
//vec3 e = normalize(camdir);
|
||||
vec3 l_pos = vec3(0.0); // sun.
|
||||
vec3 l_pos = sun_pos; // sun.
|
||||
vec3 l_dir = normalize(l_pos-objpos.xyz);
|
||||
float intensity = min(max(5*dot(n,l_dir), 0.0), 1);
|
||||
float intensity = min(max(5*dot(n,l_dir), 0.3), 1);
|
||||
|
||||
float shine = 0.0001;
|
||||
|
||||
@@ -72,6 +75,7 @@ void main()
|
||||
*/
|
||||
vec4 tmpdiff = diffuse;
|
||||
tmpdiff[3] = 1;
|
||||
if(shadows == 1)
|
||||
diffuse = max(intensity * diffuse, ambient);
|
||||
//diffuse[3] = 0.6f;
|
||||
//diffuse = vec4(1);
|
||||
|
||||
@@ -41,6 +41,8 @@
|
||||
|
||||
namespace {
|
||||
const std::string _loggerCat = "RenderablePlanet";
|
||||
|
||||
const std::string keyBody = "Body";
|
||||
}
|
||||
|
||||
namespace openspace {
|
||||
@@ -71,7 +73,10 @@ RenderablePlanet::RenderablePlanet(const ghoul::Dictionary& dictionary)
|
||||
_geometry = planetgeometry::PlanetGeometry::createFromDictionary(geometryDictionary);
|
||||
}
|
||||
|
||||
dictionary.getValue(constants::renderableplanet::keyFrame, _target);
|
||||
dictionary.getValue(constants::renderableplanet::keyFrame, _frame);
|
||||
|
||||
bool b1 = dictionary.getValue(keyBody, _target);
|
||||
assert(b1 == true);
|
||||
|
||||
// TODO: textures need to be replaced by a good system similar to the geometry as soon
|
||||
// as the requirements are fixed (ab)
|
||||
@@ -137,7 +142,7 @@ void RenderablePlanet::render(const RenderData& data)
|
||||
}
|
||||
}
|
||||
transform = transform* rot;
|
||||
if (_target == "IAU_JUPITER"){ //x = 0.935126
|
||||
if (_frame == "IAU_JUPITER"){ //x = 0.935126
|
||||
transform *= glm::scale(glm::mat4(1), glm::vec3(1, 0.93513, 1));
|
||||
}
|
||||
|
||||
@@ -145,8 +150,15 @@ void RenderablePlanet::render(const RenderData& data)
|
||||
//glm::mat4 modelview = data.camera.viewMatrix()*data.camera.modelMatrix();
|
||||
//glm::vec3 camSpaceEye = (-(modelview*data.position.vec4())).xyz;
|
||||
|
||||
psc sun_pos;
|
||||
double lt;
|
||||
openspace::SpiceManager::ref().getTargetPosition("SUN", _target, "GALACTIC", "NONE", _time, sun_pos, lt);
|
||||
|
||||
// setup the data to the shader
|
||||
// _programObject->setUniform("camdir", camSpaceEye);
|
||||
int shadows = (_target == "SUN") ? 0 : 1;
|
||||
_programObject->setUniform("shadows", shadows);
|
||||
_programObject->setUniform("sun_pos", sun_pos.vec3());
|
||||
_programObject->setUniform("ViewProjection", data.camera.viewProjectionMatrix());
|
||||
_programObject->setUniform("ModelTransform", transform);
|
||||
setPscUniforms(_programObject, &data.camera, data.position);
|
||||
@@ -166,7 +178,8 @@ void RenderablePlanet::render(const RenderData& data)
|
||||
|
||||
void RenderablePlanet::update(const UpdateData& data){
|
||||
// set spice-orientation in accordance to timestamp
|
||||
openspace::SpiceManager::ref().getPositionTransformMatrix(_target, "GALACTIC", data.time, _stateMatrix);
|
||||
openspace::SpiceManager::ref().getPositionTransformMatrix(_frame, "GALACTIC", data.time, _stateMatrix);
|
||||
_time = data.time;
|
||||
}
|
||||
|
||||
void RenderablePlanet::loadTexture()
|
||||
|
||||
@@ -122,7 +122,7 @@ void RenderableTrail::fullYearSweep(){
|
||||
_varray.push_back(1.f - p * _r);
|
||||
_varray.push_back(1.f - p * _g);
|
||||
_varray.push_back(1.f - p * _b);
|
||||
_varray.push_back(1.f - p);
|
||||
_varray.push_back(1.f - p*2.f);
|
||||
#else
|
||||
_varray.push_back(1.f );
|
||||
_varray.push_back(1.f );
|
||||
|
||||
Reference in New Issue
Block a user