View Single Post
Old 30th April 2005, 01:00   #20  |  Link
tsp
Registered User
 
tsp's Avatar
 
Join Date: Aug 2004
Location: Denmark
Posts: 807
Version 0.4 is ready. Get it here.
Softwire is really nice but it's irritating that I can't convert a __cdecl function pointer to a thiscall function pointer without using inline asm. I thought reinterpret_cast would work but it didn't.

scharfis_brain: you don't need RtoRGB,GtoRGB,BtoRGB for your function MergeRGB will do.

From the readme.txt


RGBmanipulate mirrors the function utoy vtoy mergeLuma/chroma for the rgb colorspace

syntax:

RtoRGB(bool useMMX,bool overwritealpha, bool usemmx)
copies the Red channel to Green and Blue resulting in a greyscale image.


GtoRGB(bool useMMX,bool overwritealpha, bool usemmx)
copies the Green channel to Red and Blue resulting in a greyscale image.


BtoRGB(bool useMMX,bool overwritealpha, bool usemmx)
copies the Blue channel to Red and Green resulting in a greyscale image.

usemmx: enables mmx optimization. Default true
overwritealpha: If true the alpha channel is also overwriten (this is faster). Default false


MergeRGB(clip R,clip G,clip B,clip A,int alphachannel,bool usemmx)
Merge the Red channel from R the green channel from G and the blue channel from B
if A is specified(you don't have to) the alpha channel from A is used.

alphachannel specifies where the alpha channels should be used from if A isn't specified:
0 copies the alpha channel from R
1 copies the alpha channel from G
2 copies the alpha channel from B
3 zeroes the alpha channel
Default 0
tsp is offline   Reply With Quote