Difference between revisions of "1K Intro"
From SizeCoding
Line 1: | Line 1: | ||
== Introduction == | == Introduction == | ||
− | This category is dedicated to 1K Intros for Windows 32 | + | This category is dedicated to 1K Intros for Windows 32. |
− | + | Windows 1K Intros can be setup in C or Aseembler, or a combination of both, with only the few windows calls that are used being linked in. | |
− | + | In general writing everything in assembler should give you a little more freedom in pushing/popping your function arguments but in th past quality intros have been written in both languages. | |
− | === | + | Graphics are usualy done using OpenGL+GLSL, but there are 1K intros out there that have used D3D instead. |
− | * Setting up a OpenGL | + | |
+ | === Setup (OpenGL) === | ||
+ | * ChangeDisplaySettings(&screenSettings, CDS_FULLSCREEN) - Initialise fullscreen view | ||
+ | * CreateWindow((LPCSTR)0xC018, 0, WS_POPUP | WS_VISIBLE | WS_MAXIMIZE, 0, 0, 0, 0, 0, 0, 0, 0) - Setting up a Maximised Window | ||
+ | * ShowCursor(NULL) - Hide mousecursor (usually required by compo rules | ||
+ | * GetDC() - Get DeviceContext handle | ||
+ | * ChoosePixelFormat(hDC, &pfd) - Set pixelformat describer by pfd to DeviceContext handle | ||
+ | * wglCreateContext(hDC) - Create OpenGL context | ||
* Initialising GLSL Shader | * Initialising GLSL Shader | ||
− | * | + | * Mainloop that |
+ | |||
+ | === Graphics / effect === | ||
+ | * Passed time via glColor (no uniforms used) | ||
+ | * GLSL Shadercode | ||
=== Sound === | === Sound === | ||
− | * Win32 MIDI | + | * Win32 Single Note MIDI |
+ | * Win32 MIDI player | ||
+ | * Bytebeat softsynth | ||
* Bytebeat softsynth | * Bytebeat softsynth | ||
=== Compression === | === Compression === | ||
+ | * Microsoft Cabinet decmpression | ||
* Crinkler | * Crinkler | ||
− | |||
== Frameworks == | == Frameworks == |
Revision as of 01:26, 12 April 2024
Contents
Introduction
This category is dedicated to 1K Intros for Windows 32.
Windows 1K Intros can be setup in C or Aseembler, or a combination of both, with only the few windows calls that are used being linked in. In general writing everything in assembler should give you a little more freedom in pushing/popping your function arguments but in th past quality intros have been written in both languages.
Graphics are usualy done using OpenGL+GLSL, but there are 1K intros out there that have used D3D instead.
Setup (OpenGL)
- ChangeDisplaySettings(&screenSettings, CDS_FULLSCREEN) - Initialise fullscreen view
- CreateWindow((LPCSTR)0xC018, 0, WS_POPUP | WS_VISIBLE | WS_MAXIMIZE, 0, 0, 0, 0, 0, 0, 0, 0) - Setting up a Maximised Window
- ShowCursor(NULL) - Hide mousecursor (usually required by compo rules
- GetDC() - Get DeviceContext handle
- ChoosePixelFormat(hDC, &pfd) - Set pixelformat describer by pfd to DeviceContext handle
- wglCreateContext(hDC) - Create OpenGL context
- Initialising GLSL Shader
- Mainloop that
Graphics / effect
- Passed time via glColor (no uniforms used)
- GLSL Shadercode
Sound
- Win32 Single Note MIDI
- Win32 MIDI player
- Bytebeat softsynth
- Bytebeat softsynth
Compression
- Microsoft Cabinet decmpression
- Crinkler