08-11-2004, 01:58 AM
Syn9 is getting a team together to work on a possible 3d RPG project or to work on ZeroG2 using UGL. If you would be interested in collaborating on one of these projects, you can email Syn9 at syn9@rpgdx.net
.....
build 0.24b
Added:
- High res modes work on all cards but ATI radeons now,
even voodoos. Up to 640x480x16 will work where it hasn't
before.
- Long filename support where possible
- uglTriTG & uglTriTPG: affine & perspective correct
texture-mapped and gouraud-shaded triangles (man,
what a long name :P)
- uglSetLUT: used to define the color Look Up Table
used by uglTriTG & uglTriTPG in 8-bit modes
- uglPalBestFit: searches for the nearest color in a
palette
- uglPalFade, uglPalFadeIn, uglPalFadeOut, you probably
can guess by the names :P palette fading in accurate
time, no matter the cpu where them are used
- uglBlit and uglBlitMsk: draws just part of a source
DC onto a destine DC
- uglBlitScl and uglBlitMskScl: same as uglBlit, but with
scaling (Warning: source coordinates are not checked)
- uglBlitFlipScl and uglBlitMskFlipScl: same as uglBlitScl,
but doing flipping too (we'll break QB's function
names max length soon :P)
- uglBlitRotScl and uglBlitMskRotScl: same as uglBlitScl,
but doing rotation too (source DC's width and height
must be power of 2, as the wdt & hgt arguments)
- uglPutFlipScl and uglPutMskFlipScl: flipped and scaled
image and sprite drawing (using the new algo, see note
below about uglPutScl)
- ugluSaveTGA: saves a DC to disk, in TARGA 24-bit format
- 2DFX module:
* reads from any color format (1 to 32 bpp (no 24-bit))
* can read only part of a source DC (store your tiles and
sprites in just one big bitmap)
* writes to any CFMT (8, 15, 16 and 32bpp)
* can do scaling
* can do horizontal and/or vertical flipping
* can do masking (skips BRIGHT PINK or any user defined color)
* can do color substitution: solid color (sprites only),
LUT (for paletted-like effects),
mono color (for light effects),
texture (NOT implemented yet),
* can do a 2nd pass color sub: factor multiply (for shading),
factor add (for color effects)
* can do blending (up to 256 levels) using this
modes (currently): alpha,
mono multiplication,
saturated addition,
saturated subtraction,
saturated addition times alpha
Fixed:
- uglPutFlip and uglPutMskFlip: both had errors when
clipping was needed, my bad :P
Rewritten:
- uglPutScl and uglPutMskScl: they are not using the
tmappers anymore, so source DC's can have any size
and the dimensions don't have to be power of 2
.....
build 0.23b
Added:
- Added a perspective correct tmapper!!!
Yeah!! It's around 20% slower then the affine mapper
on my athlon. So it's not that bad. I still have more
optimisations to do though. Migh be able to crank up
the performance another 5-10%. Right now i'm just happy
that it works. It was a bitch to code in asm. Intel sucks,
bigtime.
- uglTriG now supports linear palettes in 8 bit mode.
Use uglPalUsingLin to switch between 332 and linear palette
modes.
Fixed:
- uglSetVideoDC would fail if calling it after uglRestore if
the resolution was same as before.
- The library builder wouldn't build, reporting that atleast
one bpp has to be selected when you had selected just 8 bit.
Changes:
- Mod player now supports vibrato, tremolo and arpegio.
I'm still not completly happy with the mod player.
- Sutherland-Hodgman clipping is now split up into several
files becuase of two reasons. The major reason is size.
The module when assembled was 16 kb. And if you use any
of the convex polygon routines you had to include all of
those 16 kbs. It now works much smarter, including only
what's needed. The second reason for splitting it up into
more files is for simplecity, a new set of routines are
coming up, can you guess what they are? No? Perspective
correct texturemapping and eventually gouruad. Neatooo.
.....
build 0.22a
Added:
- A mod player. Yepp, you read correctly. However, as
it's summer i'm not going to waste time coding. So
vibrato, tremolo and arpegio aren't implemented.
But other then that it works perfect.