website articles
1k/4k demo framework and examples


This is a set of "intro systems" or, being more accurate, a set of 1k and 4k intro examples, ready to be used. It contains one example for each of the most typical intro scenarios: hardware acceleration, software rendering (pure pixel based), and shader based rendering (no polygons) as well as some simple procedural graphics. None of the examples is especially optimized, as they are expected to serve as example. However, the code code has been build by collecting ideas from many people who do tiny prods, like Auld and those in in4k, as well as from my own testings and experimentation.


Content:
For regular hadware acceleration, both OpenGL and Directx 9.1 examples are available as 4k base intros. There is also three examples for non polygon based hardware acceleration, where rendering is based on a shader. You can find there code to use shaders that you might want to copy to the polygon based examples. Lastly, there is a softare rendering example where a framebuffer is copied to the window. There are also two examples of 4k procedural graphcic prods, one using Opengl shaders and the other using software rendering (full mutithreaded!).


Using it:
Each project has two configurations, Debug and Release. On the Debug one there is no size optimizations, there is more error checks and you can put breakpoints and all that cool stuff. The Release configurations use a lighter startup code, optimice the code and link with Crinkler.

Most projects contain a config.h where you can do some basic setup for the intro, like the screen resolution.


Compiling:
You just need Visual Studio (version 6, or 2005 or 2008. Remember that Visual Studio is free :) Linux support (non SDL) is already taken into account and will quickly be added (for the non Directx variations).


Download:
Click here to get the last update (02/11/2012) [procedural video support]
(previous version was released 27/07/2010) [fixed sound "avada kedabra" -thx coda-, added newest glext.h, and tweak for Crinkler 1.2]
(previous version was released 30/06/2009) [VS2008 support, procedural gfx frameworks, and -27 bytes in "accio"]
(previous version was released 26/03/2008) [d3d startup optimized - thx Blueberry]
(previous version was released 28/02/2008) [crinkler removed, code cleaned - thx Auld]
(previous version was released 23/01/2008) [first version]

You will also need to download Crinkler by Mentor and Blueberry, that's the real magic here :) Once you downlaod it, rename it to link.exe and put next to the project file (the .sln).



Project nameCategoty Size (in bytes)RenderingFeaturesSound supportShotName
i1k_D3D9Shader1k873shader (HLSL)a 2d gradientnolumos
i1k_OGLShader 1k948shader (GLSL)a 2d tunnelnoaccio
i4k_Software 4k981software (CPU)a 2d tunnelyesexpelliamus
i4k_D3D9 4k1214directx 9a 3d cubeyesalohamora
i4k_OGL 4k1201opengl 1.1a 3d cubeyesavada kedabra
i4k_OGLShader 4k1504shader (GLSL)a 3d raytraced sphereyesreducto
g4k_Software procedural gfx1486sofware (CPU - multithreaded)ambient occlusion-wingardium leviosa
g4k_OGLShader procedural gfx1002shader (GLSL)mandelbrot set-crucio
v4k_Software procedural video813sofware (CPU - single threaded)a blue moving rect-confundus