PDA

View Full Version : 3D line



amirrimal.official
01-30-2016, 03:39 AM
How to implement Bresenham's algorithm to plot a 3D line..using only GL_POINTS function?

Agent D
02-05-2016, 03:12 AM
You don't do that sort of thing with OpenGL(R) and you don't do line segment drawing in 3D.

First of all, OpenGL(R) is a standard API for (potentially) hardware accellerated 3D graphics. There already are line drawing functions that
may or may not use Bresenhams algorithm (https://www.opengl.org/discussion_boards/showthread.php/198157-Algorithm-implemented-for-drawing-line-in-OpenGL?p=1281382#post1281382), depending on the implementation.

For the "3D" part of the question: For a line segmentin 3D space, you simply take the endpoints, transform them as you wish, project them onto the screen,
perform some clipping and end up with a 2D line segment that you rasterize.

If you want to draw lines with OpenGL(R), you tell it to draw lines. If you just want to play around with Bresenhams algorithm or other simple rasterization
stuff, you might want to use something much simpler than GL, like drawing to a memory framebuffer and writing it out to an image file or something
similar, i.e. piecing together something like this (https://github.com/AgentD/lib2D) (playing around with primitive 2D drawing algorithms) or this (https://github.com/AgentD/swrast) (another tiny software rasterizer).

vytieubao
02-24-2016, 05:59 AM
For the "3D" part of the question: For a line segmentin 3D space, you simply take the endpoints, transform them as you wish, project them onto the screen

concuca
02-24-2016, 09:12 PM
it's dificullt to show you with some text. You should watch guide in Youtube