mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-09 04:48:09 +02:00
Merge branch 'blue-bis' of https://github.com/samcake/hifi into blue
This commit is contained in:
commit
4ce774ab8e
4 changed files with 19 additions and 21 deletions
|
@ -84,12 +84,7 @@ void Circle3DOverlay::render(RenderArgs* args) {
|
||||||
batch.setPipeline(args->_shapePipeline->pipeline);
|
batch.setPipeline(args->_shapePipeline->pipeline);
|
||||||
}
|
}
|
||||||
|
|
||||||
// FIXME: THe line width of _lineWidth is not supported anymore, we ll need a workaround
|
batch.setModelTransform(getRenderTransform());
|
||||||
// FIXME Start using the _renderTransform instead of calling for Transform from here, do the custom things needed in evalRenderTransform()
|
|
||||||
|
|
||||||
auto transform = getTransform();
|
|
||||||
transform.postScale(glm::vec3(getDimensions(), 1.0f));
|
|
||||||
batch.setModelTransform(transform);
|
|
||||||
|
|
||||||
// for our overlay, is solid means we draw a ring between the inner and outer radius of the circle, otherwise
|
// for our overlay, is solid means we draw a ring between the inner and outer radius of the circle, otherwise
|
||||||
// we just draw a line...
|
// we just draw a line...
|
||||||
|
@ -438,7 +433,3 @@ bool Circle3DOverlay::findRayIntersection(const glm::vec3& origin, const glm::ve
|
||||||
Circle3DOverlay* Circle3DOverlay::createClone() const {
|
Circle3DOverlay* Circle3DOverlay::createClone() const {
|
||||||
return new Circle3DOverlay(this);
|
return new Circle3DOverlay(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
Transform Circle3DOverlay::evalRenderTransform() {
|
|
||||||
return getTransform();
|
|
||||||
}
|
|
||||||
|
|
|
@ -88,8 +88,6 @@ protected:
|
||||||
int _minorTicksVerticesID { 0 };
|
int _minorTicksVerticesID { 0 };
|
||||||
|
|
||||||
bool _dirty { true };
|
bool _dirty { true };
|
||||||
|
|
||||||
Transform evalRenderTransform() override;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -133,8 +133,9 @@ void Line3DOverlay::render(RenderArgs* args) {
|
||||||
auto batch = args->_batch;
|
auto batch = args->_batch;
|
||||||
if (batch) {
|
if (batch) {
|
||||||
batch->setModelTransform(Transform());
|
batch->setModelTransform(Transform());
|
||||||
glm::vec3 start = _renderStart;
|
auto& renderTransform = getRenderTransform();
|
||||||
glm::vec3 end = _renderEnd;
|
glm::vec3 start = renderTransform.getTranslation();
|
||||||
|
glm::vec3 end = renderTransform.transform(vec3(0.0, 0.0, -1.0));
|
||||||
|
|
||||||
auto geometryCache = DependencyManager::get<GeometryCache>();
|
auto geometryCache = DependencyManager::get<GeometryCache>();
|
||||||
if (getIsDashedLine()) {
|
if (getIsDashedLine()) {
|
||||||
|
@ -269,7 +270,19 @@ Line3DOverlay* Line3DOverlay::createClone() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
Transform Line3DOverlay::evalRenderTransform() {
|
Transform Line3DOverlay::evalRenderTransform() {
|
||||||
_renderStart = getStart();
|
// Capture start and endin the renderTransform:
|
||||||
_renderEnd = getEnd();
|
// start is the origin
|
||||||
return Parent::evalRenderTransform();
|
// end is at the tip of the front axis aka -Z
|
||||||
|
Transform transform;
|
||||||
|
transform.setTranslation( getStart());
|
||||||
|
auto endPos = getEnd();
|
||||||
|
|
||||||
|
auto vec = endPos - transform.getTranslation();
|
||||||
|
auto scale = glm::length(vec);
|
||||||
|
auto dir = vec / scale;
|
||||||
|
auto orientation = glm::rotation(glm::vec3(0,0,-1), dir);
|
||||||
|
transform.setRotation(orientation);
|
||||||
|
transform.setScale(scale);
|
||||||
|
|
||||||
|
return transform;
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,10 +73,6 @@ private:
|
||||||
float _glow { 0.0 };
|
float _glow { 0.0 };
|
||||||
float _glowWidth { 0.0 };
|
float _glowWidth { 0.0 };
|
||||||
int _geometryCacheID;
|
int _geometryCacheID;
|
||||||
|
|
||||||
// Similar to the _renderTransform, we capture the start and end pos for render loop in game loop
|
|
||||||
glm::vec3 _renderStart;
|
|
||||||
glm::vec3 _renderEnd;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // hifi_Line3DOverlay_h
|
#endif // hifi_Line3DOverlay_h
|
||||||
|
|
Loading…
Reference in a new issue