Starting.html 5.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <HTML>
  2. <BODY>
  3. <link rel="stylesheet" type="text/css" href="PageStyle.css">
  4. <P> <IMG SRC="Images/Title.png">
  5. <P> <A href="../Manual.html">Back to main page</A>
  6. <P> <b>Getting started with David Forsgren Piuva's Software Renderer</b>
  7. <P> <IMG SRC="Images/Border.png">
  8. <P> Place the library's root folder inside of a new folder.
  9. <P> This allow keeping your own projects and the "temporary" folder that's
  10. <P> used for compiling quickly outside of the library's version history.
  11. <P>
  12. <P> If using Linux, you might need to install the X11 headers.
  13. <P> If it doesn't work, your Linux distro might not have an X11 server.
  14. <P> On debian based distributions:
  15. <P> <I>sudo apt-get install libx11-dev</I>
  16. <P>
  17. <P> If using a Raspberry Pi, you can use Raspbian (Buster or newer for X11 support) or Ubuntu Mate.
  18. <P> <IMG SRC="Images/Border.png">
  19. <P> Build and run an example program on Linux:
  20. <P> * Select an SDK example and open its folder in a terminal.
  21. <P> * Give permission to execute the build script.
  22. <P> <I>chmod +x build.sh</I>
  23. <P> * Run the build script.
  24. <P> <I>./build.sh</I>
  25. <P> <IMG SRC="Images/Border.png">
  26. <P> Run regression tests on Linux:
  27. <P> * Open the source folder in a terminal and run the test script:
  28. <P> <I>chmod +x test.sh</I>
  29. <P> <I>./test.sh</I>
  30. <P> <IMG SRC="Images/Border.png">
  31. <P> Create your own Linux project
  32. <P> * Copy one of the SDK examples.
  33. <P> * Change ROOT_PATH and TEMP_DIR in your build script
  34. <P> to refer to the same locations from a new source path.
  35. <P> * Add your own external dependencies to LINKER_FLAGS within a quote
  36. <P> with -l in front of each library name.
  37. <P> <IMG SRC="Images/Border.png">
  38. <P> Creating a terminal application
  39. <P> If your application doesn't create any window, you can make it more portable
  40. <P> by replacing "WINDOW_MANAGER=X11" with "WINDOW_MANAGER=NONE".
  41. <P> This will compile with NoWindow.cpp instead of X11Window.cpp in windowManagers.
  42. <P> <IMG SRC="Images/Border.png">
  43. <P> Create your own cross-platform CodeBlocks project:
  44. <P> * Select C++ 14 with G++ from the GCC toolchain.
  45. <P> * Link with "-lm -pthread" to get standard C++ math and threading.
  46. <P> * Include all source files in the DFPSR folder or just the ones you need.
  47. <P> * Include the window wrapper and its dependencies for each target build.
  48. <P> Most platforms will be targeted using NoWindow.cpp for text only.
  49. <P> This should work with most other IDEs that support the GCC toolchain.
  50. <P> <IMG SRC="Images/Border.png">
  51. </BODY>
  52. </HTML>