src/gl/partrenderer.h

changeset 56
fad4a5dd8dee
parent 55
cb81ecb5fb23
child 57
5c0005f63319
--- a/src/gl/partrenderer.h	Wed Feb 26 02:21:07 2020 +0200
+++ b/src/gl/partrenderer.h	Wed Feb 26 22:26:05 2020 +0200
@@ -23,6 +23,7 @@
 		QWidget* parent = nullptr);
 	~PartRenderer() override;
 	void setRenderPreferences(const gl::RenderPreferences& newPreferences);
+	static glm::vec3 viewport(const glm::vec3& point, float width, float height);
 protected:
 	ldraw::Id pick(const QPoint& where);
 	void initializeGL() override;
@@ -30,13 +31,14 @@
 	void paintGL() override;
 	void mouseMoveEvent(QMouseEvent* event) override;
 	void wheelEvent(QWheelEvent* event) override;
+	glm::vec3 viewport(const glm::vec3& point);
 	Model* const model;
 	DocumentManager* const documents;
 	const ldraw::ColorTable& colorTable;
 	gl::Compiler* const compiler;
 	ldraw::Id highlighted = ldraw::NULL_ID;
-	std::optional<glm::vec3> cameraToGrid(const QPoint& point);
-	QPointF worldToCamera(const glm::vec3& point);
+	std::optional<glm::vec3> screenToModelCoordinates(const QPoint& point);
+	QPointF modelToScreenCoordinates(const glm::vec3& point);
 private:
 	void setFragmentStyle(gl::FragmentStyle fragStyle);
 	void renderAllArrays();
@@ -48,7 +50,6 @@
 	gl::RenderPreferences renderPreferences;
 	glm::mat4 projectionMatrix;
 	glm::mat4 viewMatrix;
-	glm::mat3 viewportMatrix;
 	glm::quat modelQuaternion;
 	std::optional<GridProgram> gridProgram;
 	static constexpr double MIN_ZOOM = 0.0;

mercurial