New pages

Jump to navigation Jump to search
New pages
Hide registered users | Hide bots | Hide redirects
  • 14:56, 5 April 2025Text Rendering (hist | edit) ‎[20,588 bytes]Cooljerk (talk | contribs) (Created page with "Now that we can display our font texture with transparency correctly, let’s build our function to render text. To do this, we’ll have to manipulate the UV coordinates of the texture we render with. We start by making a clone of our SubmitQuad function, which we’ll call SubmitText. This will take some different parameters. First, it’ll take a const char* Input string. This is a c-style string, which is just an array of bytes on the stack. We want to take a font c...")
  • 14:50, 5 April 2025Transparent Textures (hist | edit) ‎[17,655 bytes]Cooljerk (talk | contribs) (Created page with " font. We will map all characters A through Z, in caps, plus 0-9, plus the symbols mapped to 0-9, as well as a few punctuation marks and brackets. We will draw the fonts in a row in a png. Calculated out, our font will be 1024 pixels wide, which is the maximum amount the Dreamcast can have. Each font character needs to be at least 16x16 pixels big. I settled on my final font texture size being 1024x128 pixels big. The dimensions of the texture need to be a power of 2. 12...")
  • 14:39, 5 April 2025Textures and Meshes (hist | edit) ‎[31,955 bytes]Cooljerk (talk | contribs) (Created page with "At this point, since we’re going to be using multiple textures from now on, it makes sense to make a texture manager class. This will hold and store our Textures for us, so we can easily look through them and delete them if necessary. Begin by making a new class in our folder, “texture_manager.cpp” and “texture_manager.h”. Don’t forget to add “texture_manager.o” to $(OBJS) in our Makefile. Our Texture_Manager class will need to see KOS to get internal dr...")
  • 14:26, 5 April 2025Event Handling (hist | edit) ‎[24,479 bytes]Cooljerk (talk | contribs) (Created page with "Events allow us to send automated messages from one part of our program to other parts. With a simple program like we have now, that’s not so important, but in more complex programs this becomes very important. We’ll create an event handler for Gamepad Input in this section, which will let us start writing code to control our program while it’s running. We need a central object for parts of our program to talk with. Using global variables is a bad idea on the Sega...")
  • 14:14, 5 April 2025Drawing a Texture (hist | edit) ‎[14,390 bytes]Cooljerk (talk | contribs) (Created page with "DRAWING A TEXTURE First, we need to talk about how the dreamcast draws. The dreamcast does not draw like a modern GPU, it doesn’t have a GPU at all. It has a PVR Core which uses deferred rendering. The way this works is that a small amount of memory inside the Dreamcast VRAM is set aside to hold vertex data. Instead of rasterizing each polygon as they are sent to the dreamcast and immediately drawing it to the destination, the Dreamcast instead caches all polygons upfr...")
  • 14:13, 5 April 2025Adding a Romdisk (hist | edit) ‎[3,565 bytes]Cooljerk (talk | contribs) (Created page with "The Dreamcast lacks a hard drive, and instead has to load everything from the CD-Rom into memory in order to use it. To make loading and unloading large amounts of data and assets easier, it’s preferable to use Rom Disks. Rom Disks take a folder on your computer, and turns it into an image file. KOS can then mount that image file in the dreamcast, creating a copy of your folder inside. You can load and unload multiple Rom Disks, making it handy for keeping memory organ...")
  • 14:12, 5 April 2025Main.cpp (hist | edit) ‎[2,372 bytes]Cooljerk (talk | contribs) (Created page with "A main source file is the starting point for any Dreamcast program. The first run function will be int main(int argc, char **argv), and thus the file it resides in is considered the main source file. It is typical to name this file something like main.cpp, or perhaps game.cpp, or the name of your program with .cpp attached. For the purpose of this tutorial, we will refer to it as Main.cpp. Create a new text file called Main.cpp, and open it to begin editing. === Heade...")
  • 14:03, 5 April 2025Dreamcast Tutorial (hist | edit) ‎[717 bytes]Cooljerk (talk | contribs) (Created page with "While many resources exist to explain individual parts of developing games and applications for the Dreamcast, there are not many comprehensive tutorials that detail the entire process. The following tutorial has been created to more thoroughly explain Dreamcast development topics towards a goal of creating fully featured applications. It is meant to be a full tutorial for beginners, starting from bare text files. This is a table of contents for topics the tutorial cover...")
  • 13:47, 5 April 2025Makefile (hist | edit) ‎[13,554 bytes]Cooljerk (talk | contribs) (Created initial page for tutorial on creating makefiles)
  • 04:09, 8 January 2025Pushing Polygons (hist | edit) ‎[462 bytes]GyroVorbis (talk | contribs) (Created Basic skeleton page with index of topics)
  • 03:42, 8 January 2025SH4 in Compiler Explorer (hist | edit) ‎[5,908 bytes]GyroVorbis (talk | contribs) (Created page with "Thanks to the effort of Matt Godbolt (who hilariously enough is a former Dreamcast developer himself), the SuperH GCC toolchain is now available for use with [https://godbolt.org Compiler Explorer], along with all of the SH4-specific compiler flags and options typically used when targeting the Dreamcast. This gives us an invaluable tool for getting quick and immediate feedback on how well a given C or C++ source segment tends to translate into SH4 assembly, offering a li...")