src/gl/partrenderer.h

changeset 57
5c0005f63319
parent 56
fad4a5dd8dee
child 58
b7841cd31fb7
--- a/src/gl/partrenderer.h	Wed Feb 26 22:26:05 2020 +0200
+++ b/src/gl/partrenderer.h	Thu Feb 27 11:56:41 2020 +0200
@@ -24,6 +24,7 @@
 	~PartRenderer() override;
 	void setRenderPreferences(const gl::RenderPreferences& newPreferences);
 	static glm::vec3 viewport(const glm::vec3& point, float width, float height);
+	static glm::vec3 antiviewport(const glm::vec3& point, float width, float height);
 protected:
 	ldraw::Id pick(const QPoint& where);
 	void initializeGL() override;
@@ -39,6 +40,7 @@
 	ldraw::Id highlighted = ldraw::NULL_ID;
 	std::optional<glm::vec3> screenToModelCoordinates(const QPoint& point);
 	QPointF modelToScreenCoordinates(const glm::vec3& point);
+	glm::vec3 unproject(const glm::vec3& win);
 private:
 	void setFragmentStyle(gl::FragmentStyle fragStyle);
 	void renderAllArrays();
@@ -50,6 +52,7 @@
 	gl::RenderPreferences renderPreferences;
 	glm::mat4 projectionMatrix;
 	glm::mat4 viewMatrix;
+	glm::vec4 viewportVector;
 	glm::quat modelQuaternion;
 	std::optional<GridProgram> gridProgram;
 	static constexpr double MIN_ZOOM = 0.0;

mercurial