over the past couple days ive been putting together a quick 'n dirty little DLL, primarily for visual basic users (though it'll work in any language on win32 that can import dll functions), to make it a really quick + easy job to get graphics hardware acceleration for drawing 2d graphics and text. plus not to mention there are additional features not possible with stock VB drawing commands.
the primary goal was to make a fast graphics library for VB that is utterly easy to use and crash-proof.
Current features list
---------------------------
-Any 4:3 resolution (640x480, 800x600, 1024x768, 1600x1200, etc)
-Resolution-independent drawing
-Ridiculously easy fullscreen support (just flip a boolean to true)
-Support for 24-bit BMP images (transparency via 255/0/255 color key)
-Support for 32-bit BMP images (8-bit alpha channel allows for smooth edges.. photoshop exports these)
-Alpha blending
-Color and alpha modulation
-Image rotation by any angle
-Image scaling
-Trilinear texture filtering (makes scaled/rotated images look great)
-Text drawing with any font
-Automatic variable character width
-Font smoothing
-A few various utility functions, such as getting the angle between 2 points (useful for pointing an image to a specific position, as demonstrated in the example program)
-Performance that is many hundreds times faster than GDI
-Extremely easy to use
Features to be implemented
---------------------------------------
-Any ideas for more?
Current DX4VB command listing
------------------------------------------
DXInitialize, DXShutdown
DXLoadSprite, DXDrawSprite, DXUnloadSprite
DXLoadFont, DXDrawText, DXUnloadFont
DXAngleBetweenPoints, DXGetMousePos
example program (currently outdated), 3000 snowflakes
http://binarydemons.com/~strike/files/3000snowflakes.rar
(press escape to quit)
note this program is a demonstration, not a stress test; it takes more like 10,000 snowflakes before performance starts to become hindered
using triangle fans to draw text and batching all the sprites by texture will result in even higher performance (potentially by quite a bit). this type of thing could be done later down the line and would be completely backwards compatible. in other words, somebody could make a game with the library and later on simply replace the DLL with a newer version and get an even higher performance boost without even having to recompile their game.
i would be more than happy to expand the library to include support for DirectInput and DirectSound if anybody thinks they might be interested (although FMOD is probably the best and simplest choice for a sound library since it supports just about any sound format you could possibly want).
the primary goal was to make a fast graphics library for VB that is utterly easy to use and crash-proof.
Current features list
---------------------------
-Any 4:3 resolution (640x480, 800x600, 1024x768, 1600x1200, etc)
-Resolution-independent drawing
-Ridiculously easy fullscreen support (just flip a boolean to true)
-Support for 24-bit BMP images (transparency via 255/0/255 color key)
-Support for 32-bit BMP images (8-bit alpha channel allows for smooth edges.. photoshop exports these)
-Alpha blending
-Color and alpha modulation
-Image rotation by any angle
-Image scaling
-Trilinear texture filtering (makes scaled/rotated images look great)
-Text drawing with any font
-Automatic variable character width
-Font smoothing
-A few various utility functions, such as getting the angle between 2 points (useful for pointing an image to a specific position, as demonstrated in the example program)
-Performance that is many hundreds times faster than GDI
-Extremely easy to use
Features to be implemented
---------------------------------------
-Any ideas for more?
Current DX4VB command listing
------------------------------------------
DXInitialize, DXShutdown
DXLoadSprite, DXDrawSprite, DXUnloadSprite
DXLoadFont, DXDrawText, DXUnloadFont
DXAngleBetweenPoints, DXGetMousePos
example program (currently outdated), 3000 snowflakes
http://binarydemons.com/~strike/files/3000snowflakes.rar
(press escape to quit)
note this program is a demonstration, not a stress test; it takes more like 10,000 snowflakes before performance starts to become hindered
using triangle fans to draw text and batching all the sprites by texture will result in even higher performance (potentially by quite a bit). this type of thing could be done later down the line and would be completely backwards compatible. in other words, somebody could make a game with the library and later on simply replace the DLL with a newer version and get an even higher performance boost without even having to recompile their game.
i would be more than happy to expand the library to include support for DirectInput and DirectSound if anybody thinks they might be interested (although FMOD is probably the best and simplest choice for a sound library since it supports just about any sound format you could possibly want).
[ B A H ]
Bad *** by nature,
Hackers by choice
Bad *** by nature,
Hackers by choice