mirror of
https://github.com/overte-org/overte.git
synced 2025-08-04 10:03:37 +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);
|
||||
}
|
||||
|
||||
// FIXME: THe line width of _lineWidth is not supported anymore, we ll need a workaround
|
||||
// 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);
|
||||
batch.setModelTransform(getRenderTransform());
|
||||
|
||||
// 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...
|
||||
|
@ -438,7 +433,3 @@ bool Circle3DOverlay::findRayIntersection(const glm::vec3& origin, const glm::ve
|
|||
Circle3DOverlay* Circle3DOverlay::createClone() const {
|
||||
return new Circle3DOverlay(this);
|
||||
}
|
||||
|
||||
Transform Circle3DOverlay::evalRenderTransform() {
|
||||
return getTransform();
|
||||
}
|
||||
|
|
|
@ -88,8 +88,6 @@ protected:
|
|||
int _minorTicksVerticesID { 0 };
|
||||
|
||||
bool _dirty { true };
|
||||
|
||||
Transform evalRenderTransform() override;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -133,8 +133,9 @@ void Line3DOverlay::render(RenderArgs* args) {
|
|||
auto batch = args->_batch;
|
||||
if (batch) {
|
||||
batch->setModelTransform(Transform());
|
||||
glm::vec3 start = _renderStart;
|
||||
glm::vec3 end = _renderEnd;
|
||||
auto& renderTransform = getRenderTransform();
|
||||
glm::vec3 start = renderTransform.getTranslation();
|
||||
glm::vec3 end = renderTransform.transform(vec3(0.0, 0.0, -1.0));
|
||||
|
||||
auto geometryCache = DependencyManager::get<GeometryCache>();
|
||||
if (getIsDashedLine()) {
|
||||
|
@ -269,7 +270,19 @@ Line3DOverlay* Line3DOverlay::createClone() const {
|
|||
}
|
||||
|
||||
Transform Line3DOverlay::evalRenderTransform() {
|
||||
_renderStart = getStart();
|
||||
_renderEnd = getEnd();
|
||||
return Parent::evalRenderTransform();
|
||||
// Capture start and endin the renderTransform:
|
||||
// start is the origin
|
||||
// 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 _glowWidth { 0.0 };
|
||||
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
|
||||
|
|
Loading…
Reference in a new issue