Comment malfunctioning encoding/decoding code from RenderEngine

This commit is contained in:
Alexander Bock
2014-09-26 01:01:36 +02:00
parent 11ecb32801
commit bc36cdca03

View File

@@ -306,164 +306,164 @@ void RenderEngine::serialize(std::vector<char>& dataStream, size_t& offset) {
// camera->scaling
const glm::vec2 scaling = _mainCamera->scaling();
const psc position = _mainCamera->position();
//const psc origin = OsEng.interactionHandler().getOrigin();
//const pss pssl = (position - origin).length();
//_mainCamera->cameraDirection()
//const glm::vec2 scaling = _mainCamera->scaling();
//const psc position = _mainCamera->position();
////const psc origin = OsEng.interactionHandler().getOrigin();
////const pss pssl = (position - origin).length();
////_mainCamera->cameraDirection()
union storage {
float value;
std::array<char, 4> representation;
} s;
//union storage {
// float value;
// std::array<char, 4> representation;
//} s;
s.value = _mainCamera->cameraDirection().x;
dataStream[offset++] = s.representation[0];
dataStream[offset++] = s.representation[1];
dataStream[offset++] = s.representation[2];
dataStream[offset++] = s.representation[3];
//s.value = _mainCamera->cameraDirection().x;
//dataStream[offset++] = s.representation[0];
//dataStream[offset++] = s.representation[1];
//dataStream[offset++] = s.representation[2];
//dataStream[offset++] = s.representation[3];
s.value = _mainCamera->cameraDirection().y;
dataStream[offset++] = s.representation[0];
dataStream[offset++] = s.representation[1];
dataStream[offset++] = s.representation[2];
dataStream[offset++] = s.representation[3];
//s.value = _mainCamera->cameraDirection().y;
//dataStream[offset++] = s.representation[0];
//dataStream[offset++] = s.representation[1];
//dataStream[offset++] = s.representation[2];
//dataStream[offset++] = s.representation[3];
s.value = _mainCamera->cameraDirection().z;
dataStream[offset++] = s.representation[0];
dataStream[offset++] = s.representation[1];
dataStream[offset++] = s.representation[2];
dataStream[offset++] = s.representation[3];
//s.value = _mainCamera->cameraDirection().z;
//dataStream[offset++] = s.representation[0];
//dataStream[offset++] = s.representation[1];
//dataStream[offset++] = s.representation[2];
//dataStream[offset++] = s.representation[3];
s.value = _mainCamera->rotation().x;
dataStream[offset++] = s.representation[0];
dataStream[offset++] = s.representation[1];
dataStream[offset++] = s.representation[2];
dataStream[offset++] = s.representation[3];
//s.value = _mainCamera->rotation().x;
//dataStream[offset++] = s.representation[0];
//dataStream[offset++] = s.representation[1];
//dataStream[offset++] = s.representation[2];
//dataStream[offset++] = s.representation[3];
s.value = _mainCamera->rotation().y;
dataStream[offset++] = s.representation[0];
dataStream[offset++] = s.representation[1];
dataStream[offset++] = s.representation[2];
dataStream[offset++] = s.representation[3];
//s.value = _mainCamera->rotation().y;
//dataStream[offset++] = s.representation[0];
//dataStream[offset++] = s.representation[1];
//dataStream[offset++] = s.representation[2];
//dataStream[offset++] = s.representation[3];
s.value = _mainCamera->rotation().z;
dataStream[offset++] = s.representation[0];
dataStream[offset++] = s.representation[1];
dataStream[offset++] = s.representation[2];
dataStream[offset++] = s.representation[3];
//s.value = _mainCamera->rotation().z;
//dataStream[offset++] = s.representation[0];
//dataStream[offset++] = s.representation[1];
//dataStream[offset++] = s.representation[2];
//dataStream[offset++] = s.representation[3];
s.value = _mainCamera->rotation().w;
dataStream[offset++] = s.representation[0];
dataStream[offset++] = s.representation[1];
dataStream[offset++] = s.representation[2];
dataStream[offset++] = s.representation[3];
//s.value = _mainCamera->rotation().w;
//dataStream[offset++] = s.representation[0];
//dataStream[offset++] = s.representation[1];
//dataStream[offset++] = s.representation[2];
//dataStream[offset++] = s.representation[3];
s.value = _mainCamera->position().vec4().x;
dataStream[offset++] = s.representation[0];
dataStream[offset++] = s.representation[1];
dataStream[offset++] = s.representation[2];
dataStream[offset++] = s.representation[3];
//s.value = _mainCamera->position().vec4().x;
//dataStream[offset++] = s.representation[0];
//dataStream[offset++] = s.representation[1];
//dataStream[offset++] = s.representation[2];
//dataStream[offset++] = s.representation[3];
s.value = _mainCamera->position().vec4().y;
dataStream[offset++] = s.representation[0];
dataStream[offset++] = s.representation[1];
dataStream[offset++] = s.representation[2];
dataStream[offset++] = s.representation[3];
//s.value = _mainCamera->position().vec4().y;
//dataStream[offset++] = s.representation[0];
//dataStream[offset++] = s.representation[1];
//dataStream[offset++] = s.representation[2];
//dataStream[offset++] = s.representation[3];
s.value = _mainCamera->position().vec4().z;
dataStream[offset++] = s.representation[0];
dataStream[offset++] = s.representation[1];
dataStream[offset++] = s.representation[2];
dataStream[offset++] = s.representation[3];
//s.value = _mainCamera->position().vec4().z;
//dataStream[offset++] = s.representation[0];
//dataStream[offset++] = s.representation[1];
//dataStream[offset++] = s.representation[2];
//dataStream[offset++] = s.representation[3];
s.value = _mainCamera->position().vec4().w;
dataStream[offset++] = s.representation[0];
dataStream[offset++] = s.representation[1];
dataStream[offset++] = s.representation[2];
dataStream[offset++] = s.representation[3];
//s.value = _mainCamera->position().vec4().w;
//dataStream[offset++] = s.representation[0];
//dataStream[offset++] = s.representation[1];
//dataStream[offset++] = s.representation[2];
//dataStream[offset++] = s.representation[3];
}
void RenderEngine::deserialize(const std::vector<char>& dataStream, size_t& offset) {
// TODO: This has to be redone properly (ab)
union storage {
float value;
std::array<char, 4> representation;
} s;
// union storage {
// float value;
// std::array<char, 4> representation;
// } s;
glm::vec3 cameraDirection;
s.representation[0] = dataStream[offset++];
s.representation[1] = dataStream[offset++];
s.representation[2] = dataStream[offset++];
s.representation[3] = dataStream[offset++];
cameraDirection.x = s.value;
// glm::vec3 cameraDirection;
// s.representation[0] = dataStream[offset++];
// s.representation[1] = dataStream[offset++];
// s.representation[2] = dataStream[offset++];
// s.representation[3] = dataStream[offset++];
// cameraDirection.x = s.value;
s.representation[0] = dataStream[offset++];
s.representation[1] = dataStream[offset++];
s.representation[2] = dataStream[offset++];
s.representation[3] = dataStream[offset++];
cameraDirection.y = s.value;
// s.representation[0] = dataStream[offset++];
// s.representation[1] = dataStream[offset++];
// s.representation[2] = dataStream[offset++];
// s.representation[3] = dataStream[offset++];
// cameraDirection.y = s.value;
s.representation[0] = dataStream[offset++];
s.representation[1] = dataStream[offset++];
s.representation[2] = dataStream[offset++];
s.representation[3] = dataStream[offset++];
cameraDirection.z = s.value;
_mainCamera->setCameraDirection(cameraDirection);
// s.representation[0] = dataStream[offset++];
// s.representation[1] = dataStream[offset++];
// s.representation[2] = dataStream[offset++];
// s.representation[3] = dataStream[offset++];
// cameraDirection.z = s.value;
// _mainCamera->setCameraDirection(cameraDirection);
glm::quat rotation;
s.representation[0] = dataStream[offset++];
s.representation[1] = dataStream[offset++];
s.representation[2] = dataStream[offset++];
s.representation[3] = dataStream[offset++];
rotation.x = s.value;
// glm::quat rotation;
// s.representation[0] = dataStream[offset++];
// s.representation[1] = dataStream[offset++];
// s.representation[2] = dataStream[offset++];
// s.representation[3] = dataStream[offset++];
// rotation.x = s.value;
s.representation[0] = dataStream[offset++];
s.representation[1] = dataStream[offset++];
s.representation[2] = dataStream[offset++];
s.representation[3] = dataStream[offset++];
rotation.y = s.value;
// s.representation[0] = dataStream[offset++];
// s.representation[1] = dataStream[offset++];
// s.representation[2] = dataStream[offset++];
// s.representation[3] = dataStream[offset++];
// rotation.y = s.value;
s.representation[0] = dataStream[offset++];
s.representation[1] = dataStream[offset++];
s.representation[2] = dataStream[offset++];
s.representation[3] = dataStream[offset++];
rotation.z = s.value;
// s.representation[0] = dataStream[offset++];
// s.representation[1] = dataStream[offset++];
// s.representation[2] = dataStream[offset++];
// s.representation[3] = dataStream[offset++];
// rotation.z = s.value;
s.representation[0] = dataStream[offset++];
s.representation[1] = dataStream[offset++];
s.representation[2] = dataStream[offset++];
s.representation[3] = dataStream[offset++];
rotation.w = s.value;
_mainCamera->setRotation(rotation);
// s.representation[0] = dataStream[offset++];
// s.representation[1] = dataStream[offset++];
// s.representation[2] = dataStream[offset++];
// s.representation[3] = dataStream[offset++];
// rotation.w = s.value;
// _mainCamera->setRotation(rotation);
glm::vec4 position;
s.representation[0] = dataStream[offset++];
s.representation[1] = dataStream[offset++];
s.representation[2] = dataStream[offset++];
s.representation[3] = dataStream[offset++];
position.x = s.value;
// glm::vec4 position;
// s.representation[0] = dataStream[offset++];
// s.representation[1] = dataStream[offset++];
// s.representation[2] = dataStream[offset++];
// s.representation[3] = dataStream[offset++];
// position.x = s.value;
s.representation[0] = dataStream[offset++];
s.representation[1] = dataStream[offset++];
s.representation[2] = dataStream[offset++];
s.representation[3] = dataStream[offset++];
position.y = s.value;
// s.representation[0] = dataStream[offset++];
// s.representation[1] = dataStream[offset++];
// s.representation[2] = dataStream[offset++];
// s.representation[3] = dataStream[offset++];
// position.y = s.value;
s.representation[0] = dataStream[offset++];
s.representation[1] = dataStream[offset++];
s.representation[2] = dataStream[offset++];
s.representation[3] = dataStream[offset++];
position.z = s.value;
// s.representation[0] = dataStream[offset++];
// s.representation[1] = dataStream[offset++];
// s.representation[2] = dataStream[offset++];
// s.representation[3] = dataStream[offset++];
// position.z = s.value;
s.representation[0] = dataStream[offset++];
s.representation[1] = dataStream[offset++];
s.representation[2] = dataStream[offset++];
s.representation[3] = dataStream[offset++];
position.w = s.value;
// s.representation[0] = dataStream[offset++];
// s.representation[1] = dataStream[offset++];
// s.representation[2] = dataStream[offset++];
// s.representation[3] = dataStream[offset++];
// position.w = s.value;
_mainCamera->setPosition(position);
//_mainCamera->setPosition(position);
}
Camera* RenderEngine::camera() const {