propagateSeedDeep serialization functionality;

ecs scripting updates;
renderer shaderinterop;
This commit is contained in:
turanszkij
2018-09-21 18:15:27 +01:00
parent 3ae00c34e7
commit 4fa8ba0be3
31 changed files with 892 additions and 704 deletions
+16 -15
View File
@@ -3,6 +3,7 @@
#include "wiRenderer.h"
#include "wiInputManager.h"
#include "wiMath.h"
#include "ShaderInterop_Renderer.h"
using namespace wiGraphicsTypes;
using namespace wiECS;
@@ -449,7 +450,7 @@ void Translator::Draw(const CameraComponent& camera, GRAPHICSTHREAD threadID)
XMMATRIX VP = camera.GetViewProjection();
wiRenderer::MiscCB sb;
MiscCB sb;
XMMATRIX mat = XMMatrixScaling(dist, dist, dist)*XMMatrixTranslationFromVector(transform.GetPositionV()) * VP;
XMMATRIX matX = XMMatrixTranspose(mat);
@@ -469,20 +470,20 @@ void Translator::Draw(const CameraComponent& camera, GRAPHICSTHREAD threadID)
}
// xy
sb.mTransform = matX;
sb.mColor = state == TRANSLATOR_XY ? XMFLOAT4(1, 1, 1, 1) : XMFLOAT4(0.2f, 0.2f, 0, 0.2f);
XMStoreFloat4x4(&sb.g_xTransform, matX);
sb.g_xColor = state == TRANSLATOR_XY ? XMFLOAT4(1, 1, 1, 1) : XMFLOAT4(0.2f, 0.2f, 0, 0.2f);
device->UpdateBuffer(wiRenderer::constantBuffers[CBTYPE_MISC], &sb, threadID);
device->Draw(vertexCount_Plane, 0, threadID);
// xz
sb.mTransform = matZ;
sb.mColor = state == TRANSLATOR_XZ ? XMFLOAT4(1, 1, 1, 1) : XMFLOAT4(0.2f, 0.2f, 0, 0.2f);
XMStoreFloat4x4(&sb.g_xTransform, matZ);
sb.g_xColor = state == TRANSLATOR_XZ ? XMFLOAT4(1, 1, 1, 1) : XMFLOAT4(0.2f, 0.2f, 0, 0.2f);
device->UpdateBuffer(wiRenderer::constantBuffers[CBTYPE_MISC], &sb, threadID);
device->Draw(vertexCount_Plane, 0, threadID);
// yz
sb.mTransform = matY;
sb.mColor = state == TRANSLATOR_YZ ? XMFLOAT4(1, 1, 1, 1) : XMFLOAT4(0.2f, 0.2f, 0, 0.2f);
XMStoreFloat4x4(&sb.g_xTransform, matY);
sb.g_xColor = state == TRANSLATOR_YZ ? XMFLOAT4(1, 1, 1, 1) : XMFLOAT4(0.2f, 0.2f, 0, 0.2f);
device->UpdateBuffer(wiRenderer::constantBuffers[CBTYPE_MISC], &sb, threadID);
device->Draw(vertexCount_Plane, 0, threadID);
@@ -499,20 +500,20 @@ void Translator::Draw(const CameraComponent& camera, GRAPHICSTHREAD threadID)
}
// x
sb.mTransform = matX;
sb.mColor = state == TRANSLATOR_X ? XMFLOAT4(1, 1, 1, 1) : XMFLOAT4(1, 0, 0, 1);
XMStoreFloat4x4(&sb.g_xTransform, matX);
sb.g_xColor = state == TRANSLATOR_X ? XMFLOAT4(1, 1, 1, 1) : XMFLOAT4(1, 0, 0, 1);
device->UpdateBuffer(wiRenderer::constantBuffers[CBTYPE_MISC], &sb, threadID);
device->Draw(vertexCount_Axis, 0, threadID);
// y
sb.mTransform = matY;
sb.mColor = state == TRANSLATOR_Y ? XMFLOAT4(1, 1, 1, 1) : XMFLOAT4(0, 1, 0, 1);
XMStoreFloat4x4(&sb.g_xTransform, matY);
sb.g_xColor = state == TRANSLATOR_Y ? XMFLOAT4(1, 1, 1, 1) : XMFLOAT4(0, 1, 0, 1);
device->UpdateBuffer(wiRenderer::constantBuffers[CBTYPE_MISC], &sb, threadID);
device->Draw(vertexCount_Axis, 0, threadID);
// z
sb.mTransform = matZ;
sb.mColor = state == TRANSLATOR_Z ? XMFLOAT4(1, 1, 1, 1) : XMFLOAT4(0, 0, 1, 1);
XMStoreFloat4x4(&sb.g_xTransform, matZ);
sb.g_xColor = state == TRANSLATOR_Z ? XMFLOAT4(1, 1, 1, 1) : XMFLOAT4(0, 0, 1, 1);
device->UpdateBuffer(wiRenderer::constantBuffers[CBTYPE_MISC], &sb, threadID);
device->Draw(vertexCount_Axis, 0, threadID);
@@ -526,8 +527,8 @@ void Translator::Draw(const CameraComponent& camera, GRAPHICSTHREAD threadID)
sizeof(XMFLOAT4) + sizeof(XMFLOAT4),
};
device->BindVertexBuffers(vbs, 0, ARRAYSIZE(vbs), strides, nullptr, threadID);
sb.mTransform = XMMatrixTranspose(mat);
sb.mColor = state == TRANSLATOR_XYZ ? XMFLOAT4(1, 1, 1, 1) : XMFLOAT4(0.25f, 0.25f, 0.25f, 1);
XMStoreFloat4x4(&sb.g_xTransform, XMMatrixTranspose(mat));
sb.g_xColor = state == TRANSLATOR_XYZ ? XMFLOAT4(1, 1, 1, 1) : XMFLOAT4(0.25f, 0.25f, 0.25f, 1);
device->UpdateBuffer(wiRenderer::constantBuffers[CBTYPE_MISC], &sb, threadID);
device->Draw(vertexCount_Origin, 0, threadID);
}