These tutorials focus mainly on OpenGL, Win32 programming and the ODE physics engine. OpenGL has moved on to great heights and I don't cover the newest features but cover all of the basic concepts you will need with working example programs.

 

Working with the Win32 API is a great way to get to the heart of Windows and is just as relevant today as ever before. Whereas ODE has been marginalized as hardware accelerated physics becomes more common.

 

Games and graphics utilities can be made quickly and easily using game engines like Unity so this and Linux development in general will be the focus of my next tutorials.    

  

 

FunctionLibrary
HACCEL_UserFree ole32
HACCEL_UserMarshal ole32
HACCEL_UserSize ole32
HACCEL_UserUnmarshal ole32
HasSystemSleepStarted user32
HBITMAP_UserFree ole32
HBITMAP_UserMarshal ole32
HBITMAP_UserSize ole32
HBITMAP_UserUnmarshal ole32
HBRUSH_UserFree ole32
HBRUSH_UserMarshal ole32
HBRUSH_UserSize ole32
HBRUSH_UserUnmarshal ole32
Heap32First th32 kernel32
Heap32ListFirst th32 kernel32
Heap32ListNext th32 kernel32
Heap32Next th32 kernel32
HeapAlloc kernel32
HeapCompact kernel32
HeapCreate kernel32
HeapDestroy kernel32
HeapFree kernel32
HeapLock kernel32
HeapReAlloc kernel32
HeapSetFlags kernel32
HeapSize kernel32
HeapUnlock kernel32
HeapValidate kernel32
HeapWalk kernel32
HENHMETAFILE_UserFree ole32
HENHMETAFILE_UserMarshal ole32
HENHMETAFILE_UserSize ole32
HENHMETAFILE_UserUnmarshal ole32
HexFromBin@12 mapi32
HGLOBAL_UserFree ole32
HGLOBAL_UserMarshal ole32
HGLOBAL_UserSize ole32
HGLOBAL_UserUnmarshal ole32
HideCaret user32
HiliteMenuItem user32
HitTestPenData pkpd32
HMENU_UserFree ole32
HMENU_UserMarshal ole32
HMENU_UserSize ole32
HMENU_UserUnmarshal ole32
HMETAFILE_UserFree ole32
HMETAFILE_UserMarshal ole32
HMETAFILE_UserSize ole32
HMETAFILE_UserUnmarshal ole32
HMETAFILEPICT_UserFree ole32
HMETAFILEPICT_UserMarshal ole32
HMETAFILEPICT_UserSize ole32
HMETAFILEPICT_UserUnmarshal ole32
HPALETTE_UserFree ole32
HPALETTE_UserMarshal ole32
HPALETTE_UserSize ole32
HPALETTE_UserUnmarshal ole32
HrAddColumns@16 mapi32
HrAddColumnsEx@20 mapi32
HrAllocAdviseSink@12 mapi32
HrComposeEID@28 mapi32
HrComposeMsgID@24 mapi32
HrDecomposeEID@28 mapi32
HrDecomposeMsgID@24 mapi32
HrDispatchNotifications@4 mapi32
HrEntryIDFromSz@12 mapi32
HrGetOmiProvidersFlags mapi32
HrGetOmiProvidersFlags@8 mapi32
HrGetOneProp@12 mapi32
HrIStorageFromStream@16 mapi32
HrQueryAllRows@24 mapi32
HrSetOmiProvidersFlagsInvalid mapi32
HrSetOmiProvidersFlagsInvalid@4 mapi32
HrSetOneProp@8 mapi32
HrSzFromEntryID@12 mapi32
HrThisThreadAdviseSink@8 mapi32
HrValidateIPMSubtree@20 mapi32
HrValidateParameters@8 mapi32
htonl wsock32
htons wsock32
HWND_UserFree ole32
HWND_UserMarshal ole32
HWND_UserSize ole32
HWND_UserUnmarshal ole32
HACCEL_UserFree ole32
HACCEL_UserMarshal ole32
HACCEL_UserSize ole32
HACCEL_UserUnmarshal ole32
HasSystemSleepStarted user32
HBITMAP_UserFree ole32
HBITMAP_UserMarshal ole32
HBITMAP_UserSize ole32
HBITMAP_UserUnmarshal ole32
HBRUSH_UserFree ole32
HBRUSH_UserMarshal ole32
HBRUSH_UserSize ole32
HBRUSH_UserUnmarshal ole32
Heap32First th32 kernel32
Heap32ListFirst th32 kernel32
Heap32ListNext th32 kernel32
Heap32Next th32 kernel32
HeapAlloc kernel32
HeapCompact kernel32
HeapCreate kernel32
HeapDestroy kernel32
HeapFree kernel32
HeapLock kernel32
HeapReAlloc kernel32
HeapSetFlags kernel32
HeapSize kernel32
HeapUnlock kernel32
HeapValidate kernel32
HeapWalk kernel32
HENHMETAFILE_UserFree ole32
HENHMETAFILE_UserMarshal ole32
HENHMETAFILE_UserSize ole32
HENHMETAFILE_UserUnmarshal ole32
HexFromBin@12 mapi32
HGLOBAL_UserFree ole32
HGLOBAL_UserMarshal ole32
HGLOBAL_UserSize ole32
HGLOBAL_UserUnmarshal ole32
HideCaret user32
HiliteMenuItem user32
HitTestPenData pkpd32
HMENU_UserFree ole32
HMENU_UserMarshal ole32
HMENU_UserSize ole32
HMENU_UserUnmarshal ole32
HMETAFILE_UserFree ole32
HMETAFILE_UserMarshal ole32
HMETAFILE_UserSize ole32
HMETAFILE_UserUnmarshal ole32
HMETAFILEPICT_UserFree ole32
HMETAFILEPICT_UserMarshal ole32
HMETAFILEPICT_UserSize ole32
HMETAFILEPICT_UserUnmarshal ole32
HPALETTE_UserFree ole32
HPALETTE_UserMarshal ole32
HPALETTE_UserSize ole32
HPALETTE_UserUnmarshal ole32
HrAddColumns@16 mapi32
HrAddColumnsEx@20 mapi32
HrAllocAdviseSink@12 mapi32
HrComposeEID@28 mapi32
HrComposeMsgID@24 mapi32
HrDecomposeEID@28 mapi32
HrDecomposeMsgID@24 mapi32
HrDispatchNotifications@4 mapi32
HrEntryIDFromSz@12 mapi32
HrGetOmiProvidersFlags mapi32
HrGetOmiProvidersFlags@8 mapi32
HrGetOneProp@12 mapi32
HrIStorageFromStream@16 mapi32
HrQueryAllRows@24 mapi32
HrSetOmiProvidersFlagsInvalid mapi32
HrSetOmiProvidersFlagsInvalid@4 mapi32
HrSetOneProp@8 mapi32
HrSzFromEntryID@12 mapi32
HrThisThreadAdviseSink@8 mapi32
HrValidateIPMSubtree@20 mapi32
HrValidateParameters@8 mapi32
htonl wsock32
htons wsock32
HWND_UserFree ole32
HWND_UserMarshal ole32
HWND_UserSize ole32
HWND_UserUnmarshal ole32