2
$\begingroup$

I've been researching for quite a while and I couldn't find any explanation or at least a how to create a vector graphic application (specifically in windows) where I can create a 3D vector shape, say a box. I know there is OpenGL and DirectX for that and the new Vulkan API but I don't wan't to use those APIs and libraries. What I am asking is where can I find examples or at least tutorials for creating custom made API graphics library for the C++ language. If there is not a way in C++ language then any other way to do it. By example masm or nasm Assembly language.

If my question is too broad please specify any additional information you need to be able to answer my question.

$\endgroup$
10
  • $\begingroup$ To be clear, are you looking for an existing software renderer for vector graphics, or are you looking to learn how to write a software renderer for vector graphics on your own? $\endgroup$ Commented Mar 10, 2016 at 4:58
  • $\begingroup$ i am looking to write a software renderer for vector graphics on my own $\endgroup$
    – charle
    Commented Mar 10, 2016 at 4:59
  • $\begingroup$ Are you trying to make a program that outputs an image file? Or are you trying to make a program that shows the vector shapes on the screen and lets you edit them in real time? What operating system are you using? $\endgroup$
    – Alan Wolfe
    Commented Mar 10, 2016 at 6:19
  • 1
    $\begingroup$ I'm afraid it is not possible for us to narrow the question down for you, as we do not know specifically what you want. Is there a similar application that already exists for comparison, so we can see what you intend to build? What will the finished program be used for? Will a shape be displayed as a wire frame, a solid, with flat shading or realistic lighting? Do you want to produce images in real time or slowly generate high quality images? $\endgroup$ Commented Mar 10, 2016 at 12:08
  • $\begingroup$ i wan't to create a 3D program where the only thing it does is showing a box with 8 vertex points , 12 edges in wire frame . This program will be an executable for windows operating system 10 . I wan't to create this 'sample' structure program without using OpenGL, DirectX or Vulkan , only with custom code for the entire input , output of the program . That means creating the class methods for vertex and edges and a ouput system to the screen with vector graphics. It may be in CLI or MFC , it does not matter for me. $\endgroup$
    – charle
    Commented Mar 10, 2016 at 14:03

1 Answer 1

3
$\begingroup$

What you are looking for is a way to get access to individual pixels in an image, in a way that you can modify those pixels with CPU code.

Once you have that you'll want to find software rendering / software rasterization methods.

A great place to start would be reading up in the various bresenham algorithms.

There is a lot of info out there on that. Here is one article for instance: http://blog.demofox.org/2015/01/17/bresenhams-drawing-algorithms/

$\endgroup$
2
  • $\begingroup$ thanks a lot for your help in this subject . It covers the basics that i need to continue what im searching for . i am grateful for the help. $\endgroup$
    – charle
    Commented Mar 17, 2016 at 0:03
  • $\begingroup$ Glad to hear! Sometimes it's hard to know what to search for. $\endgroup$
    – Alan Wolfe
    Commented Mar 17, 2016 at 0:14

Not the answer you're looking for? Browse other questions tagged or ask your own question.