[ GRAPHICS | QBASIC | ALGORITHMS | JAVA | JAPANESE ]
Last Update: April 29, 2019
Changes: Image processing, Akalin, The pixel factory, Useful programmer traits, BASIC Gaming Magazine, Demo algorithms, Architecture of Open Source Apps, Performance, GPGPU, Find the Bug, Sort Algos
This will serve as my "What's New" page, as I will be posting information about current interests and projects.
I have spent years making these programs but they may be yours free to
learn more about QuickBasic, Turbo Pascal, and low-level hardware programming.
Most of my files are for intermediate to advanced QBASIC programmers and trig
and calculus students who want to do their homework faster. Remember, your
computer is MUCH more powerful than a calculator so use it!
IMPORTANT: These programs are FREEWARE. But please ask for my permission before selling my software or modifying it. I assume no responsibility over ANY losses resulting from the use of these programs.
GFXartist - art using computer media.
DV Garage - visual media arts training
3D Cafe digital art tutorials
Tsugumo's Lair - author of The RPG, has neat anime drawings and 3D models.
Code Project - MFC, Win32 programming
Win32 SDK - GUI programming without MFC (in Japanese).
Drive Explorer - source code
Windows Programming using the Win32 API for beginners
Windows Programming FAQ resources, and links.
IPC in Win32, 2
Memory Mapped File - for MIME decoding
Code Guru - MFC and Win32 API programming. Lots of stuff, but the search engine sucks.
Windows Server Insider - magazine in Japanese
FlipCode - GREAT! Game development resources, knowledge. amazingly it's back after all these years!
Code Fortress - game programming tutorials (octree collision detection, motion blur)
Whiteblobs - game tech links
Stephan's GameDev Research, BSP and CSG tutorial.
Blackpawn Tutorials - cellular texture, metaball normals, PQ torus, lightmap packing.
Steel's Programming Resources- 3D programming intro.
Advanced Character Physics - at GDC 2001. Verlet integration
multitexturing - using D3D, darkmapping and lightmapping
Charles Bloom - 3D tech documents
MSDN downloads - Direct X SDK, etc.
Winsock 2 API functions
Articles at Gamedev.net - really cool game programming tutorials.
Hugi diskmag - at one time, the most popular demoscene diskmag. Get the coding articles!
PAiN - another cool demoscene diskmag .
Scene archive - interesting doc of the scene.
Scene Zine - Issue 10
pouet.net - demo search engine
Demoscene News and other information.
RabidHamster - R2 winamp vis plugins
Valacar's Programming Page- great demo programming info and links.
MODDOC - various Amiga module formats
FMOD, BASS Sound System - music playback libraries for Windows and Linux
Programmer's Lair - DOS hardware programming reference
Compression Algorithms tutorials by Arturo Campos.
Charles Bloom Compression Source
Fun graphics links
Non-photorealistic Rendering - simulating how humans paint.
Non-photorealistic Animation and Rendering papers
Cel Shading - tutorial for cartoon rendering
Code - and graphics tutorials by Pierre Terdiman
EFG's Graphics - Links, Image processing links
Links - to AI, image processing, philosophy
fast.ai - deep learning for programmers and scientists
Poisson Image Editing - for image inpainting (filling holes in images).
Reproducible Research - code for image processing, video codecs, etc.
University Research and courseware
OpenCourseWare - free online college education at MIT.
Stanford Engineering Everywhere - free CS and robotics classes
BIBS - Berkeley Internet Broadcasting System (selected EECS lectures in RealVideo format, dead link)
Academic Earth - online university video lectures
Stanford Encyclopedia of Philosophy
UC Berkeley Webcast - over 35 UCB courses available for free on video
EECS Course Notes - at UC Berkeley
University Video Collections - free lectures at Georgetown, Princeton, etc.
Continuous Collision Detection - and other research by Stephane Redon
Graphics Research - at MIT
GRAIL - graphics research at University of Washington
Technical Reports - on computer graphics at Cornell.
IBR Publications at University of North Carolina (UNC).
Arxiv - electronic research paper archive at Cornell.
New Kind of Science - by Stephen Wolfram
E. W. Dijkstra archive - computer science papers
Microsoft joint research
ACM TOG - transactions on computer graphics software
Tencent AI Lab
Google tech talks
Xerox PARC Forum
Wavelet Lifting Scheme - nice introductory text for comp. sci. people
Wavelet CG Course - at Siggraph 96
wavelet course - multiscale methods and applications tutorial
CG Notes - wavelets, spline surfaces, and stuff
Discrete Wavelet Transform - tutorial (programmer-oriented).
Amara's Wavelet Page
Wavelet cascade applet
DDJ Wavelet Link Page
Peroxide - Win32 graphics coding intro
QB FAQs 1, 2
QB Tuts 1, 2, 3, sprite clipping
QB 2D/3D Engines Xeno 3d Dash PB3D
Quixoft - democoding info, 3d graphics tutorial links
Ribbonsoft - NEW asm tutorial and VOID game
GameCoding.co.uk - game programming using DX, OpenGL, and Dev-C++ or MSVC.
Game Programming info.
Bresenham Algo - for drawing lines in graphics modes
VGA Paint 386, IPXfer, PC Speaker WAV player, etc.
UPX - the ultimate executable packer.
WareSoft- great gfx and layout
YPI BASIC Homepage - OpenAVI, BMP, OpenICO, etc. updated
3D Engines List - sorted links to tons of graphics engines.
DJGPP game stuff
Sunsite at University of North Carolina- famous UNIX ftp archive.
QBASIC Internals/ASM- excellent page on QBasic-DOS assembly programming with a section on QBasic internals.
Alex Chalfin's Page
Bells, Whistles and Sound Boards 1.20a, BWSB 1.20b - (get both) useful SoundBlaster library, Al
On the Electrodynamics of Moving Bodies - physics paper by Einstein.
Computer (Network) Security
RISKS - digest
Peter Gutmann's Page - including crypto tutorial
Digital Photography short course
QBWavePlayer- and other cool hardware oriented programs by Michael Sorensen, mirror
Linux - for Playstation 2 NEW - purchase now!
DirectX OpenGL wrapper - the easy way to port DirectX apps to non-Windows platforms
Winex - DirectX support for Wine (at sourceforge).
clang - high performance compiler used at Google and Apple.
Intel C++ - the gold standard.
Microsoft Visual Studio
GCC C Extensions
GCC C++ Extensions
LCC-Win32 - a retargetable C compiler with source
Open Watcom - first open source commercial C++ compiler
Blitz Basic - a game programming language (defunct)
Programming Perl Ch.18 - by Larry Wall
Sed by Example - Part I, intro to the commandline unix batch stream editor
Document Viewers (for Excel, Powerpoint, Visio, etc.)
Open Source Projects - at SGI
Solaris 10, Redhat Linux
Solaris - Free Binary License Program
Illumos Project - a fork of OpenSolaris
Sybase - for Linux for free
Darwin Sources - source code to parts of the Mac OS X operating system kernel.
Email Converters Howto and software
C++ and STL
Boost C++ Libraries - some of it will become part of the next C++ standard.
Standard Template Library - official page at SGI.
STLPort - a good implementation of STL
STL tutorial - at Brown University.
ANSI C standard - actual C90 text and corrigendums
Mumit's STL - Newbie Guide
STL book - free source code
C++ Reference - standard C and STL library quick reference, with sample listings
C++ Language Tutorial - by Juan Soulie
Embedded OO Design Tips - NEW
Intro to C++ - from a C programmer's perspective
Electronic Lives Manufacturing - cool electronics projects (in Japanese).
Harmony Central- MIDI programming
Via KT133a - Northbridge issue
VIA 686 Southbridge Issue - causing system lockups and data corruption, more info
WebEE - Electrical engineering primers
IVTV [dead] - (Hauppauge WinTV 250 Linux driver) mailing list archives June, July, August, September, FAQ
Partition Table Info - by Hale Landis, Partition Types identifiers.
Hardware Programming - at cubic.org.
COM port IO - by Gleb.
Netit Direct 3D tutorials
LSPPP - packet driver for DOS.
Modem Help - troubleshooting dialup problems under Winxx, Modem info home
Beyond Logic - information on interfacing the PC keyboard, USB, LPT, etc.
USB docs at Intel
ECP - parallel port technical info
Parallel Port - programming in VB
Parallel Port Central- lots LPT applications and FAQs technical data interfacing II.
Parallel Port Programming using BASIC.
Parallel Port FAQ- comprehensive guide to the parallel port.
Archives of Netscape 4 and other older versions of Netscape Navigator.
Archives - of Real Player
JPEG block dump source code. NEW!
GIMP- the GNU image manipulation program (Photoshop replacement).
Cool Geometry and useful linear algebra by Paul Bourke
Eric Weisstein's World of Mathematics - finally back up. Nov 7, 2001! This is the best math encyclopedia in the world.
Geometry in Action delaunay triangulation, octree, mst, etc.
Convex hull of a dynamic set of points
Comp Graphics Notes at UC Davis
Linear Programming and good links to LP solvers and linear algebra references.
LEDA combinational computing algorithms
Netlib - LinPack, LaPack, fast math software
Matlab Online Reference
Polar curves and famous parametric curves shown with Java.
Marching Cubes algorithm - to extract a polygonal isosurface of a scalar field
JS Folder Tree- like Windows Explorer.
Wolf/Doom/Quake Sources. NEW!
NP Completeness Page
Eugene Meyers - papers on pattern matching, etc.
Java is not type-safe research paper by an AT&T researcher
Sharle Source code - the magical musical instrument from the MIT Brain Opera.
Symantec trialware including Winfax and Visual Cafe
Linus talks about Linux 2.x at USENIX 1999.
Latest 80x86 processor technical info.
Netscape Communicator source code.
Oracle 8 reference
CGI Made Easy- learn it in an hour!
Research at Microsoft.
VRML and Java specifications and example code.
NT FAQ partition info
Color Quantization techniques
Ratlib links to reusable source code in many languages
PC Tech - a column in PC Magazine
Visual C++ 6.0 Updates - including the processor pack and SP6
Plus Magazine - online mathematics magazine
Technology Review e-magazine
I, Cringely Archive - ideas and opinions on the electronics and computer industry
Make - magazine for homebrew projects
Mac Carbon Programming Wiki
Learn Cocoa tutorials
MacResearch.org scientific computing on Mac
Cygwin and gcc toolchain
Cygwin - awesome UNIX emulator for Windows, download the install utility now.
GNU Win32 C++ and Fortran compiler port for cygwin, NT Emacs
gcc-2.95, GNU Win32 related sites
Pthreads-Win32 - POSIX multithreading library for Windows applications
GNU software via FTP,software list
SSH NT Links, installing ssh
GCD Reference - grand central dispatch lets the OS manage the number of threads, and offers faster synchronization primitives.
Lock-Free Data Sharing at Dr. Dobb's Journal.
Fast x86 barriers - used in SPIRAL and Intel IPP.
Lock-free data structures with hazard pointers at DDJ.
Multithreaded Programming Guide - has a producer consumer solution using pthreads
Parallel In-Place Radix Sort at DDJ.
Parallel Search - going superlinear
False Sharing can kill multithread performance
Pthread Usage Examples
Pthreads Programming Book
POSIX Threads Programming Tutorial - at LLNL
MPI standard for parallel code, MPICH MPI over ActiveMessage, book.
WMPI - unofficial binaries fom the portugese project
MPI forum - MPI documents
WMPI - commercial software demo
MPI-CH - performance
Condition Variables - implemented in Win32. Also talks about Win32 synchronization primitives
C++ Synchronization - primitives implemented in Win32 and Solaris
Server side web server code
Operating Systems Development
Nachos - operating system for learning about OS coding.
Linux 2.4 - kernel internals
HOWTO - for Linux kernel compilation
OpenSolaris - Solaris source code
Windows Driver Development Kit - order the DDK
Operating System resource center
XFS - file system's technical description
Books - about Linux kernel programming
Linux - 2.5 kernel changes
The Art of UNIX programming - book
Upgrading - to Linux kernel 2.6
RISKS and computer security
Feynman's Appendix to the Rogers Commission Report on the Space Shuttle Challenger Accident - blog where I saw this link.
NASA Toyota Study on sudden acceleration
Experimental Security Analysis of a Modern Automobile - vulnerabilities in the car area network.
CVE - computer security flaws
Full Disclosure - mailing list
1201 and 1202 - program alarms during Apollo 11
Homebrew Computer Club
Ada Lovelace - the world's first computer programmer
Atanasoff-Berry Computer (ABC) - first electronic computer
First Personal Computer
C and C++ Tutorials
C++ Draft Standard
C++ Working Paper
C++/MFC programming for Windows
Top Ten C Bugs or ways to get screwed.
Find the Bug: A Book of Incorrect Programs - learn ways to read code, understand it, and improve code. Written by Microsoft programmer Adam Barr.
C Programming Language Answers - to questions in the book by K&R
Incompatibilities between ISO C and C++.
N843 - ISO C89 FCD text
Top 20 C++ Tips
Intel Game Demo Contest 2008
Summer of Express - programming contest sponsored by Microsoft
List of programming contests - at grokcode
Tree Drawing Program Contest - goal is to make a program in pure Qbasic that calculates a tree (contest ends May 1, 2003)
ACM Collegiate Programming Contest
ACM Programming Contest - 2002 Problems Regional Problems
The 5K - web design contest
Internet Problem Solving Contest 2004 - register before May 20
ICFP 2005 Contest
Google summer of code
Google CodeJam - programmnig contest New!
Dream Build Play - game programming contest New!
Al Zimmerman's contests - newer ones here (2011).
Apps for Development - organized by the World Bank
8 online programming contests
List of Programming Contests - in Google Directory
Al Zimmerman's contests - archives in rec.math.
The Cell B.E. Challenge 07 Beyond Gaming
Project Euler - Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems. It's also a good way to learn a new computer language
Topcoder - contest sponsored by Sun Microsystems and nVidia, sample problems
Programming Contest - called programmer of the month contest (1993 to 2000)
Programmer of the Month - 2004 to 2006.
Virtual Source - programming contests
Gridwars - sponsored by HP and ClusterWorld.
QB Caliber Contest - 3 categories: vertical shooter game, arkanoid type game, and graphics demo
RPG Gold 2003 - game programming contest
International Obfuscated C Contest - Don't write code like this
C programming tutorial (for POSIX-based systems), another course, tips, algorithms, links.
Call graph displayer (useful for
tracing static links)
Windows DLL list - with search engine, Another on
Numerical Recipes in C and Fortran.
Realtime CG Programming
c0de517e - notes about state-of-the-art rendering algorithms
Pixel, Too Many... blog - on graphics engine programming by Marco Salvi
Ambient Occlusion Techniques - used in the demo Frameranger
SSAO techniques compared
graphics blog summary from 2008
Particle system optimization
Simon Brown's blog - info on CUDA random number generators, global illumination, etc.
t-pot PROGRAMMING - NEW DirectX vertex shader, raytracing, etc.
Zanir's - OpenGL and DX 8.1 3D graphics projects
ogl-sample - SGI OpenGL sample implementation NEW!
nVidia developer page - with tutorials and tools
Bouncy Stretchy Graphics Page - NEW! a well-done tutorial by a realtime graphics master Hugo Elias.
Graphics Programming- by Particle in all modern languages
Optimizing Refraction for Raytracing - using table lookup, in software refractive raytracers
SIMD Packet raytracer - ideas by Jacco Bikker
Realtime Raytracing - tricks by lycium/quixoft
3D clipping, another tutorial
Parody's Demo Coding Page - educational and useful demo coders links!
CFXWeb Articles - tutorials on advanced graphics programming
3D Coding Blackhole - covers matrices, HSR, clipping, and scan conversion.
Tom Hammersley's Graphics Coding Page and Michael Abrash's articles (mirror)
Generalized Texture Mapping - s and o mapping by Watt
Lookat transform and three different ways of making 3D rotation matrices.
Fast Ray Triangle Intersection - using minimum storage.
Jaap's Docs - on beamtrees, octrees, collision detection, and more
Shadow generation algorithms - research papers and links to OpenGL source.
Polygon Rendering - (flat, gourard, phong, envmap, bumpmap) article by Nathan Whitaker.
Perspective Projection - matrices
Fast Affine Texture Mapping - well-written article with plenty of source code and diagrams.
Subdivision Tutorial - with interactive java applets
Matrix FAQ - covers quaternions too
DirectX tutorial section including DOS to Windows porting code
Driving DirectX column at MSDN.
Game Programming with Direct X, lots of nice advice
Andre LaMothe's tutorials on voxels, neural nets, compiled sprites, DirectX, etc.
Perspective Texture Mapping tutorial by Chris Hecker
Hin Jang's - GFX page is back with articles on antialiasing and surface patches
Chris Schlick - publications
Shadow Volumes - using stencil buffers
Render to Texture - using DirectX 7.
Projective Texture Mapping - in OpenGL
Gustafsson's OpenGL page, demos, source code
Sulaco - OpenGL projects
Shadow mapping - by Charles Bloom
HW Shadow Mapping - papers and source code at nVidia
Soft Shadow Texture Calculation - using convolution.
Fast Shadows and Lighting Effects using Texture Mapping - by Segal '92 (.pdf format)
Fundamentals of Texture Mapping and Image Warping - by Paul Heckbert '89
Michael Herf - graphics tricks, code, and ideas.
AltDev blog mirror - on game programming and debugging
technical hacks - and commodore 64 hacks
Gamasutra Programming Page
Jos Stam - publications (advanced CG stuff)
Mr. McCool's - computer graphics papers (shadow volume)
Romka - OpenGL source code and tutorials
OpenGL - and graphics articles at Delphi3D
Parims - CG algorithms
Octree Space subdivision - for speeding up a heightfield engine
tutorials at flipcode
Lyapunov Exponents Lab Report
Chaikin's Algos for Curves - rendering b-splines using corner-cutting
Per pixel lighting
Steering Behaviors For Autonomous Characters - path following, flocking, more.
SIGGRAPH 97 course notes - on physically based modeling.
Game Developers Conference 2001 - proceedings (papers in MS Word format)
Siggraph 2001 - papers, other siggraph papers
Game Dev Links
B isosurface engine - uses marching cubes and triangles to render 3D metaballs.
Wolfgang Heidrich's web site with papers on global illumination, reflections, LOD, and more
Cornell Box Data - measured light data of the famous radiosity test scene
Intro - to setting up Direct 3D z-buffer, HAL, etc.
Getting Started with Direct3D - using Visual Basic.
Interpolating Subdivision for arbitrary meshes and topology
Raycasting - a complete tutorial for the raycasting technique a la Wolfenstein.
FlipCode - NEW! Game development resources, knowledge.
Graphics Research Papers - archive with search engine
Graphics Gems- by Paul Heckbert. C source code for many CG algorithms.
TrueType Glyph rendering, Freetype
Virtual Terrain Project, Voronoi Diagrams
Midnight Q and A archives - excellent info on 3D graphics algorithms. Light maps
Radiosity - best radiosity simulation tutorial by Hugo Elias.
Radiosity Intro, Other Tutorials at Flipcode
Procedural Textures - ways of synthesizing textures (Perlin noise, Brownian motion, etc)
Nvidia Developer Site - tutorials and source code on hardware-accelerated rendering techniques
Intel Developer Services - contains fast algorithms using Intel processors.
Intel 3D Graphics algorithms and implementations
Intel Games algorithms and fast implementations
Quadratic curves and procedural shape generation and physics engines - explained using nicely interpolated graphs. Steve Witten's talk for Full Frontal 2012
WebGL for demos - talk on pouet.net
Font rendering on GPU
Rendering vector art on the GPU
Ellipse rendering in a pixel shader
GPU Antialiased Circle Drawing with a pixel shader (archive.org)
Inigo's awesome democoding articles
Altdevblogaday mirror - at jahej.com
Rendering Worlds with Two Triangles with raytracing on the GPU in 4KB
Universal Design Pattern - using prototypes or properties
Straight Radix Sort - a fast but specialized sorting algorithm. Requires a temporary buffer for storing the histogram and permutation array
Smoothsort - an adaptive in-place comparison sort. invented by Dijkstra based on Leonard heaps, and explained by Keith Schwarz
Smoothsort vs. Timsort - smoothsort is slower than timsort
Radix Exchange Sort - in-place sorting algorithm that sorts in a constant number of passes by swapping elements based on checking the key one bit at a time.
Archive of interesting code - implementations of many algorithms and data structures in C++.
Iterate and Delete - in one pass by chaos
ryg homepage and blog and twitter
GPGPU radix sort
CUB - derived from back40, GPU sort
Data Structures slides and demo applets
Cubic team's demo coding info.
Chris Dragan's blog - NEW!! interesting thoughts on multithreading in scripting languages, C++, interviewing, etc.
Midpoint Algorithm for drawing lines, circles, and perspective t-mapping
Ice-Digga's ASM Tutorial collection
CFXWeb - demo coding site
Pouet.net - demo executable download
scene.org - demo code download
Hornet's Demo Page - Intro to oldskool demoscene
Modern Demoscene and its creations.
Demo FX tutorial and src.
C/C++ Snippets source code archive
Snippets home page (where you can download the whole collection of portable C/C++ code
C++ Tutorial List
C++ Annotation, Ch 6 Operator Overloading in C++
Member function pointers for C++, for C.
Function Pointer - tutorial site NEW
C++ structs - nitty gritty details
How C works - part of the series How Stuff Works
SWAG - Pascal Source Code Archives. THE answer to your "How do I... in Pascal?" questions.
Turbo Pascal Programmer's Page- the biggest and best pages for Turbo Pascal source code.
Terragen - a cool high quality virtual landscape generator. gallery
Blender - free, GPLed powerful 3D modeling tool.news
Rhino3D - NURBS modeler
Milkshape 3D - low polygon count 3D modeler
Gmax - another modeling tool from Discreet
Wings 3D - simple 3D polygon modeller, tutorial
Maya - learning edition download for free!
Clayworks 3D - 3D modeller
John Caponigro - master class in digital art
SoftImage XSI - for free
Realistic Lighting - Global Illumination and Final Gathering
Cool Visual Hacks in Java
comp.lang.java.programmer FAQ- very comprehensive!
Winsock FAQ- NEW! HTTP Made Easy
BSP FAQ at SGI
FAQSYS 2 - the most complete archive of indexed demo and graphics programming tutorials.
Graphics Programming Black Book - online version of the classic, by Michael Abrash
Programmer's Heaven - a very well-organized, complete programmming archive.
Programmer's Oasis- has some tutorials.
Fluid Studios - publications
Spyko's Demo Coding Site - Demo Coding secion is the best section (kinda like x2ftp with index)
Dr. Dobb's Programmer's Vault- the best collection of programming tutorials (outdated).
MAGIC - collection of computer graphics algorithms cleanly implemented in C++
3DICA- 3D Programming Tutorial (phong, HSR, quantising)
3D coding - tutorial links
Volumetric rendering - using simple alpha-blended texturemapping
HOT CHIPS - archives of presentations
OpenSPARC T1 - from Sun Microsystems
RaPiD - coarse grained adaptable architectures for embedded systems platforms
RAMP - project at Berkeley (check back later)
VIA Isaiah Processor MIT H.264 Baseline Profile Decoder - open source hardware design
SPIRAL Project - automatic optimized DSP code generation
ASCOT Publications - on dsp optimization, automatic vectorization
128kbps multiformat audio codec listening test - results: tuned Vorbis wins!
audio codec - quality listening test
Audio codec comparison - MP3 vs. VQF vs. WMA
MP3 Listening Test - 2008
Old AAC Listening Test results
LAME - MP3 encoder source code.
PICOLA - audio time stretching algorithm
Gogo no coda - SSE-optimized mp3 encoder based on LAME
Digital Audio - research papers on mp3, and AAC encoders.
MP3 Tech - technical info on .mp3, .aac, .vqf
MP3 - good links to reference material for developing an mp3 codec.
DSP Tutorial at Bores- basics of DSPs.
Recording Cher's Believe - how they lied that they used vocoders when it was autotune
Digital Waveguide Modeling of Musical Instruments - online book
Digital Sound Synthesis - and related stuff by Julius Orion Smith III
AES implementation - survey (AES replaces DES crypto)
Introduction to AC-3 - surround sound coding (requires account)
DSP Dimension - Must-read introductory DSP introduction.
MusicDSP - audio signal procesing source code and tutorials
DSPGuru - tutorials
DSP Guide - a good book in PDF format
Fast sinusoid - generators
DSP VLSI - data structures, algos, MMX
Data compression - pictures and text about of how GIF, JPEG, and MPEG compression works.
FFT Demystified - explaining the various algorithms
FFT Explanation - by Bartosz Milewski
Best intro to MPEG algorithms
Video Browsing - by direct manipulation by the Visual Analytics Group at INRIA, video and article
Dynamic Graphics Project - at the University of Toronto
Homebrew Minority Report - style UI
Modern GPU - great explanation of prefix scan and other GPPGU primitives using CUDA
Michael Garland - GPGPU algorithms (implemented in CUDA)
OpenCL registry - specification to be implemented in MacOS X SnowLeopard.
AMD Stream SDK
nVidia research publications
CUDA background subtraction using Gaussian Mixture Model
Collision Stream GPU based collision detection for deformable models
H.263 Video Encoder - MMX performance compared to scalar instructions.
ITU BT.601, BT.656, BT.709, and BT.1543 standards - for broadcast digital video (HDTV colorspace, etc.)
H.264 video coding standard, reference code
ATI Avivo Video Converter - 6x realtime H.264 transcode
x264 development blog
FFMPEG git repository libav.org
X264 Developers List - post your H.264 encoder questions here, 2005 archives
MBAFF Temporal Direct Mode diagram when direct_8x8_inference_flag is set.
B-frames in AVI - NULL frames, packed B frames 11/30.
x264 vs. JM RD performance graphs, meaning of command line options.
x264 threading on 7/21 entry, deblocking filter info.
Open GOP vs. closed GOP
RD Theory with diagram, Part 2 on 9/29.
Motion estimation algorithms
Videolan mailing lists
Sliceless threading - for H.264 encode
W6RZ - YCbCr 709, 601 color bars and other test patterns
Alliance For Open Media AV1 Codec
H.265 standard - same as HEVC or ISO 23008-2 or MPEG-H Part 2.
H.264 standard - same as ISO MPEG-4 Part 10.
H.263 standard - related to MPEG-4 Part 2
H.262 standard - same as MPEG-2
H.261 standard - same as ISO MPEG-1.
WebM VP9 - used by YouTube for 4K content?
JPEG 2000 - description and links to source code
ENST - MPEG-4 systems test streams
MPEG-4 - software video codec comparison (April 2003)
MPEG-4 overview and software codec comparison (June 2001)
Video Codec Shootout - March 2004
MPEG 4 - Codecs compared (requires registration) June 2002 DV Mag.
XviD-developer's archives - mpeg-4 encoder improvement ideas
FFMPEG mailing list archives
Mp4-tech archives - mpeg-4 technical notes archives
MPEG-4 video - latest reference software
MPEG 4 Structured Audio - book and tools, links
SAOL - Reference
Schedule - for MPEG-4 standards
MPEG-4 Licensing - Terms by MPEG-LA
WEMP 2002 - Tutorials download
MPEG-4 - interoperability at Real
MPEG-4 Audio - introduction
MPEG Audio - links, conformance streams, etc.
Audio codec - comparisons at 64kbps
64kbps Listening Test - showing no audio codec at 64kbps can claim 128kbps mp3 quality
Standards for Multimedia Streaming - communication over Wireless Networks
MPEG 4 audio - standard (committee draft), more, software.
MPEG 4 player source code at ISO (no binaries).
Envivio TV - MPEG 4 player plugin for Quicktime and Real. Supports BIFS, object coding and interactivity.
Mpegable - advanced simple profile .mp4 player
AMD Performance Library (Framewave) - contains H.264 decoder functions
Quicktime - format developer's tutorial
fourcc - definite reference on FOURCCs found in video files.
MPEG-1 video player in Java UCB MPEG, video soft
audiocoding.com - AAC stuff
ffmpeg - collection of video codecs used in mplayer
libmpeg2 - MPEG-2 video encoder
faac - MPEG-4 AAC audio codec.
mpeg4ip - MPEG-4 systems implementation
VirtualDub - video capture and editing for Win32
Xvid - GPL educational MPEG-4 visual ASP encoder.
ffdshow-tryout - directshow multi-standard video decoder filter.
x264 - open source H.264 High Profile encoder.
ARIB Standards - Japanese technical standards ARIB B25 v6.5 and other broadcast standards.
Rico Mariani - strategy for performance
Bryan Cantrill - dtrace performance analysis blog
Adam Leventhal's Blog - with interesting dtrace tricks
Brendan Gregg's Blog - with info on actual performance wins made using dtrace and analysis
ACM Queue articles on performance
Data Oriented Design and C++ - data structures for efficiently using of your computer's memory cache and cache lines (use flat, contiguous array-like structures for hot data when possible)
Performance advice from Rico Mariani - Use batch APIs, avoid data structures that are forests of pointers, cache with policy for aging
Thinking Clearly about Performance - variance in latency, cost-benefit analysis, the knee in the performance curve, importance of good monitoring code and performance testing.
Cary Millsap - hard-won advice on performance tuning
Multicore Software Design Rules
Cell Programming - recipes
Atomic Cache Unit - on PS3
vImage reference vDSP reference
Cache sensitive - programming for x86.
Cache oblivious data structures - that perform well on modern memory architectures with caches
Learning redis part 3
Taming the Jaguar - console CPU optimization
Intermediate SIMD optimization - how to solve the compaction problem (aka left packing problem) using x86 PSHUFB (vector shuffle/permute instruction)
Optimizing the graphics pipeline with compute on GPU - including the compaction problem with the ballot instruction and prefix sum
Assembly level optimizations
Intel Software Developer Manuals
SSE 4 Optimization
Intel ISA A-M, N-Z, Optimization, IA64 Memory Ordering, Basic Arch
AMD SSE2+ Instructions with nice diagrams of shuffles (unpacks), MMX and 3DNow!
Paul Hsieh's Pentium optimizations page
Asm Gems- fast math using x86 CPU tricks, tiny demos, etc.
Intel AppNotes - on MMX and SSE DSP examples
ASM 32bits book - interesting chapter on string processing
Mac sound synthesizer optimization
Assembly Language for Linux
Mammon's Disassembly Environment
Assembly Programming Journal (APJ) - click on trunk/apj/issues/apj...txt. Online assembly coding magazine 1998-2001.
Insanely Low-Level - blog by the author of the diStorm x86 disassembler
ASM Sources- links page
Protected Mode - description
Pentium Optimization - guide by Agner Fog
Intel Processor - limitations and optimization techniques
SIMD and SSE instructions - applied to video codecs
Assembly Programmer's Journal - Win32 programming in ASM
App Tuning for Intel SIMD Extensions - history, using structures of arrays.
Randall Hyde's Art of Assembly Language Programming - for learning x86 asm from the ground up.
Intel - microprocessor errata and workarounds
x86 - assembler code for fast memcopies
AMD Developer Connection - some utilities for profiling and tutorials on optimization
Extensions to the x86 architecture - history of MMX, EMMX, SSE, 3DNow, along with manuals.
x86 assembly language
x64 asm programming
c++, asm and math blog
Advanced asm optimizations 40 - for x86 architecture (Japanese), 41, 42, 43, 44, 45
Fred Akalin - Notes on math, tech, and everything in between.
Articles on computer science and optimization at locklessinc.com
SSE2 optimizations - for numerical analysis
SSE - Apple documentation of differences between Altivec and SSE. 3dNow - docs in Japanese
Asm Gems- fast math using x86 CPU tricks, tiny demos, etc.
HLA compiler and other resources
PowerPC Assembly Tutorial
Assembly Language for Power Architecture
PowerPC Compiler Writer's Guide
Altivec PIM - includes vec_mradds
Hacker's Delight - clever bit twiddling code
Architecture of Open Source Applications
TinEye - reverse image search
PicSearch - image search
Google Translate - translate lots of languages
Babelfish - translation software
English - Japanese translation at goo
Wotsit's File formats.
PC Webopaedia - search for quality info on anything on computers.
Ziff Davis net - check out their computer magazines
Win32 Programming Tutorials
NT Perl programming
MVPS Win32 samples
Behind the Code - interviews of great MS engineers
Doxygen - source code documentation system for C, C++, Java, and more
Stripe - tool for converting polygon data into triangle strips
WinCVS - version control system for Windows
SDL - Simple DirectMedia Layer, a cross platform multimedia library.
VNC - remote graphical terminal access program
Graphviz a graph visualisation package by North et. al.
System Internals - get Filemon and Regmon.
OpenGL articles - at excamera.com
Render to Texture - for radial blur using OpenGL
OpenGL Optimizer Programmer's Guide
OpenGL Frustum Culling - for faster framerates
OpenGL Graphics programming - with physics (Japanese)
GLUT 3.7.6 for Win32 - toolkit for doing platform-independent control and windowing for OpenGL.
OpenGL - window and pixel format setup in Win32.
Working Samples,GameDev FAQ
Setup in VC++ 5, setup in VC++ 6, troubleshooting, template code, tips , GLUT DLLs
Game Tutorials - at game tutorials.com
Free Books - on software engineering.
OpenGL official site
Nehe at gamedev useful beginners tutorials for OpenGL
Seuma's Prog Page at Longbow Digital Arts (final page).
OpenGL introduction at Tulane University - talks about MESA, OpenGL commands, etc.
Genetic Programming - in C++ implementation issues
Generation 5 - artificial intelligence programming.
AI Depot - tutorials on AI algorithms
Herself's Artificial Intelligence
Game AI Page- has neat links on artificial intelligence.
AI Horizon Links
Neural Network Java demos
Java Data Structures
Java 1.2 Unleashed
Java sound APIs
Threads Mutexes in Java
Java in a Nutshell v2 example source code, v1,QRef,other src.
Java Threads tutorial at JavaOne. (excellent)
Core Java source code (password protected).
Thread safe classes with examples
John Hopkins University Java Resources List
Core Java Source code and sample chapter on graphics.
WinXP Setup - boot disk for people with non-bootable CD-ROM drives
WinXP Setup Disk
soda constructor Spring-based interactive robot modeler (very cool!)
Interactive Fourier Synthesis - see how to mix tones to get different waveforms
JAVA Lirc Voxel WAV player Just Java Software
audio classes, Tips Tools Applet Reviews Howto
Anfy's incredible Java applet demos. See Anfy3d!
JZoo good applets for web pages
Java graphing calc, search engine
Java Data Structures
Parallelizer for Java bytecode
TowerJ optimizing native Java compiler
Kaffe - cleanroom JVM implementation
MS Java SDK - a fast JVM.
TOBA Java to C translator (even does AWT!)
Mars filter in QB, DOSEMU, etc.
JIKES fast Java compiler
Signing Applets - how to break out of the applet sandbox
Thinking in Java Java book by Bruce Eckel
Java Tutorial, mirror by Richard Baldwin.
Java Coffee Break - looks like another Java book
Q&A Forum for lots of programming languages
Java course at UNC.
Synthetic Life - article at Scientific American
Digital Photography Composition Tips
NOMAD - open source internet speech streaming tool
Image Processing Guide and demos. matrix ops color FAQ
GRAFICA Obscura cool artistic graphics stuff
AOL CD Recycling - make personal Christmas gifts using recycled CDs
DHTML Zone Cross-browser
Paul Bourke's 3D graphics/math page
Have Your Say - discussion and debate on current events by BBC listeners.
Planet Under Pressure - environmental damage and what it means to us
Text Translator - for many languages
Daylight Savings - history
Theoretical Neuroscience - lectures
Multimedia Coding Diaries - in Japanese.
Google Android Project source.
Useful programmer traits - 1) feels what needs to be done to get the solution, in the big picture, 2) can cut features, etc. 3) freaking fast coder 4) figures out any complex problem real fast 5) can keep a ton of context in his/her head 6) not satisfied with the status quo 7) does boring work to get others more productive
Engineer Anti-Patterns - the thinker, the talker, the entitled, the owner, the recluse
2008 ACE Equipment Survey - full results
James Cameron on 3D film making