Starting.html 6.6 KB

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