LiangliangNan / Easy3D

A lightweight, easy-to-use, and efficient C++ library for processing and rendering 3D data
GNU General Public License v3.0
1.37k stars 245 forks source link

line width #20

Closed alior101 closed 4 years ago

alior101 commented 5 years ago

Hi, Is there a support for other than default line width 1.0f ? I tried adding glLineWidth support to drawable.cpp but opengl complained for invalid value .. Thanks

LiangliangNan commented 5 years ago

glLineWidth is almost useless in the modern OpenGL rendering pipeline. Changing the linewidth this way may not take effect because "Only width 1 is guaranteed to be supported" (in the OpenGL specification). The modern OpenGL uses geometry shader to achieve this for better performance.

To do this, you need to write geometry shader (i.e., modify the *.frag files). east3d will support this in a future release. This is easy to implement, see here for the code: https://github.com/martin-pr/possumwood/wiki/Wireframe-using-a-Geometry-Shader another implementation: https://www.geeks3d.com/hacklab/20180514/demo-wireframe-shader-opengl-3-2-and-opengl-es-3-1/

LiangliangNan commented 4 years ago

Hi, now you can tune line width using LinesDrawable::set_line_width(float w). Check Tutorial_401_Drawable. Press w (to show the wireframe of the mesh). Then press "+" or "-" to see the effect,

To visualize thicker lines, Easy3D now also provides you another option: draw lines as cylinders (or cones)> Please check Tutorial_404_Imposters.

Now I will close this issue. Please let me know if you any questions.

alior101 commented 4 years ago

Thanks!

On Mon, Dec 16, 2019 at 2:18 AM Liangliang Nan notifications@github.com wrote:

Hi, now you can tune line width using LinesDrawable::set_line_width(float w). Check Tutorial_401_Drawable. Press w (to show the wireframe of the mesh). Then press "+" or "-" to see the effect,

To visualize thicker lines, Easy3D now also provides you another option: draw lines as cylinders (or cones)> Please check Tutorial_404_Imposters.

Now I will close this issue. Please let me know if you any questions.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/LiangliangNan/Easy3D/issues/20?email_source=notifications&email_token=AAXET3HXETU5A72CQQQTTIDQY3CM5A5CNFSM4HXHYTTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEG5GD2Y#issuecomment-565862891, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAXET3HWT36XWFVK7C6KCRDQY3CM5ANCNFSM4HXHYTTA .