Latest beta round up
Play Basic V1.63w BETA 5 (Retail Compiler Only Beta) - (Avail for Registered Users ONLY)
PB V1.63w5 is re-engineered beta of PBV1.63 retail update. This version includes some major changes to underlying graphics engine, such as it's now can transparently convert between irregular pixel formats. However this is only supported through the draw image functionality though. Other things like texture mapping require the source and target surfaces be of the same pixel format. If they're not, you'll either get some crazy looking graphics or possibly a crash. This only applies to those people wanting to force PB to use a particular pixel format (image depth) regardless of the host computers pixel format.
Other changes to the graphics engine have been the near complete replacement of the span rendering routines, which is a big job ! Such such, all of the presently supported fill methods now include pure MMX machine code optimized and fall back fill variations. This means that
some of the fillers are much quicker than previously, although aren't also. Since they we're already MMX optimized.
This version is WIP however, replacing the span fillers is lot of work, so not all video formats are supported in this version. 24bit & 32bit should be fully supported, however the 16bit modes are missing some of the unusual inkmodes.
Play Basic V1.63w BETA 6 (Retail Compiler Only Beta) - (Avail for Registered Users ONLY)
PB V1.63w6 is a re-engineered beta of PBV1.63 retail update. This version continues on from where the previous #5 beta left off. Im this edition we have a complete new span rendering engine, although it's only called from BOX/CLS commands. The engine corrects a number of odd bugs in various fill modes and pixel formats (alpha addition in 565 pixel formats were broken) as well incorporating MMX support for all of the major pixel fillers. The only mode that isn't really supported with the same vigor is 24bit. 24bit is included but for legacy only.
Play Basic V1.63w BETA 7 (Retail Compiler Only Beta) - (Avail for Registered Users ONLY)
PB V1.63w7 is a re-engineered beta of PBV1.63 retail update. In this version we have a new set of gouraud shading/filler routines, these are used behind such commands an GouraudTri/GouraudQuad and ShadeBox. The new code is opt'd for 15/16/24 and 32 bit pixel formats. As a result, all three high level commands are quicker, the most notable is shadebox. Which is about 30% faster across 800*600 fill area on my test machine.
Play Basic V1.63w BETA 8 (Retail Compiler Only Beta) - (Avail for Registered Users ONLY)
PB V1.63w8 is a re-engineered beta of PBV1.63 retail update. This version adds inkmode support for gouraud shading/filler routines (most are 32bit only), as well as new inkmode called Inverted subtractive (4096). It's another subtract mode how this one subtracts the destination from the source, giving a coloured inverse effect. Inverted subtractive is supported through the regular span filler as well as the update gourad filler, while the solid colour versions support alll pixel formats, the gouraud version is 32bit for the time being.
Anyway, give it a test and lets us know if your programs work in it !
Play Basic V1.63w BETA 9 (Retail Compiler Only Beta) - (Avail for Registered Users ONLY)
PB V1.63w9 is a re-engineered beta of PBV1.63 retail update. This version adds rounds off the pixel format support for gouraud shading/filler routines. While the gourauds don't support every Inkmore, the ones that are supported (Alpha50, AlphaAdd, AlphaSub, AlphaMult + Alpha InvSub) are supported in 15/16/24/32bit pixels formats.

(Inv Subtractive)
Play Basic V1.63w BETA 10 (Retail Compiler Only Beta) - (Avail for Registered Users ONLY)
PB V1.63w10 is a re-engineered beta of PBV1.63 retail update. This version adds an Anti Aliased Line render and a new bilinear filtered image scaler (FX surfaces only for the time being)
Anyway, give it a test and let us know if your programs work in it !
Shape Tunnel Example screen=NewFxIMage(GetScreenWidth(),GetScreenHeight())
rings=200
RingSize#=800
FarDepth#=20000
NearDepth#=10
me=NewConvexShape(RingSize#,64)
Edges=GetShapeEdges(me,0)*rings
ClsColour=rgb(50,50,50)
Do
rendertoimage Screen
CLs ClsColour
ink $ffffff
mx=getscreenwidth()/2
my=getscreenheight()/2
thisrgb=rgb(50,20,210)
thisrgb= $ffffff
zstep#=(NearDepth#-FarDepth#)/Rings
near=0
far=fardepth#
projection#=400
lockbuffer
For lp=0 to rings
x#=cos(angle#+lp*2)*455
y#=sin(angle#+lp)*255
z#=FarDepth#+(lp*zstep#)
ProjectedSize#=(RingSize#*projection#)/z#
Scale#=ProjectedSize#/RingSize#
rotateshape me,Angle#+(lp*10),Scale#
sx#=mx+((x#*projection#)/z#)
sy#=my+((y#*projection#)/z#)
ColourScale=255-(250*(z#/far))
ink RgbAlphaMult(ThisRgb,rgb(ColourScale,ColourScale,ColourScale))
; DrawShape me,sx#,sy#,2
DrawShape me,sx#,sy#,1
next
unlockbuffer
rendertoscreen
setcursor 0,0
ink rgb(255,255,255)
angle#=wrapangle(Angle#,1)
drawimage screen,0,0,false
print fps()
print edges
Sync
loop

(AA Lines)

(Filtering)
Download
Download PB 1.63 Beta 10