I have just finshed work on a new module which allows you to 3 key things:
* Draw textured polygons
* Draw glowing lines
* Draw to an image (render to texture)
Shot of a demo created with the module:

Code for above demo:
I created these modules because I will find them usefull and as such I will update, etc. when I need to (or if there are are enough requests for a feature, and I know how to add the feature :)
There are limits of course: You can only use it with GLMax2DDriver(): You can not use Max2D drawimage, etc. with them. I have included custom drawimage() and drawimagerect() commands and I might add tileimage and drawimageblock if needed.
You can use it for commercial/free projects, no restrictions apply.
Get It From Here!
Documents are in diablo.mod/highgfx.mod/doc
* Draw textured polygons
* Draw glowing lines
* Draw to an image (render to texture)
Shot of a demo created with the module:

Code for above demo:
SuperStrict Framework BRL.GLMax2D Import BRL.PNGLoader Import Diablo.HighGFX AppTitle = "HighGFX Example: Multi Sample" SetGraphicsDriver(GLMax2DDriver()) Graphics 800, 600 Global polygonTexture:TImage = LoadImage("media/texture1.png") Global imageBuffer:TImage = hi_THighGfx.CreateLockedImage(250, 250) Global backgroundImage:TImage = LoadImage("media/texture1.png") Global glowTexture:TImage = LoadImage("media/flare1.png") Global polygon1:hi_TPolygon = New hi_TPolygon polygon1.SetTexture(polygonTexture) polygon1.AddVertex(0, 0, 0, 0) polygon1.AddVertex(100, 0, 1, 0) polygon1.AddVertex(100, 100, 1, 1) polygon1.AddVertex(0, 100, 0, 1) Local ox1#, oy1#, odx1# = 5, ody1# = 1 Local ox2# = 62.5, oy2# = 62.5, odx2# = 5, ody2# = 1 Repeat Cls hi_THighGfx.SetBuffer(imageBuffer) SetColor 255, 255, 255 DrawRect 62.5, 62.5, 125, 125 SetColor 255, 0, 0 DrawOval ox2, oy2, 20, 20 SetColor 255, 0, 0 DrawLine 0, 0, 249, 0 DrawLine 249, 0, 249, 249 DrawLine 249, 249, 0, 249 DrawLine 0, 249, 0, 0 SetColor 255, 255, 255 hi_THighGfx.EndBuffer() polygon1.SetVertexPosition(2, MouseX() - ((GraphicsWidth() / 2) - 50), MouseY() - ((GraphicsHeight() / 2) - 50)) polygon1.SetVertexColor(0, 255, 0, 0) polygon1.SetVertexColor(1, 0, 255, 0) polygon1.SetVertexColor(2, 0, 0, 255) polygon1.SetVertexColor(3, 255, 255, 255) hi_THighGfx.DrawImageRect(backgroundImage, 0, 0, 800, 600) hi_THighGfx.DrawImage(imageBuffer, ox1, oy1) polygon1.Draw(((GraphicsWidth() / 2) - 50), ((GraphicsHeight() / 2) - 50)) SetColor 255, 0, 0 hi_THighGfx.DrawGlowingLine(GraphicsWidth() / 2, GraphicsHeight() / 2, MouseX(), MouseY(), glowTexture, 0, 20) SetColor 0, 0, 255 hi_THighGfx.DrawGlowingLine(GraphicsWidth(), (GraphicsHeight() / 2) + (Sin(MilliSecs() / 10) * (GraphicsHeight() / 2)), 0, (-Sin(MilliSecs() / 10) * (GraphicsHeight() / 2)) + (GraphicsHeight() / 2), glowTexture, 0, 20) SetColor 0, 255, 0 hi_THighGfx.DrawGlowingLine((GraphicsWidth() / 2) + (Cos(MilliSecs() / 10) * (GraphicsWidth() / 2)), GraphicsHeight(), (GraphicsWidth() / 2) + (-Cos(MilliSecs() / 10) * (GraphicsWidth() / 2)), 0, glowTexture, 0, 20) SetColor 255, 255, 255 ox1:+ odx1 oy1:+ ody1 If ox1 > GraphicsWidth() - 250 Or ox1 < 0 Then odx1:* -1 If oy1 > GraphicsHeight() - 250 Or oy1 < 0 Then ody1:* -1 ox2:+ odx2 oy2:+ ody2 If ox2 > 187.5 - 20 Or ox2 < 62.5 Then odx2:* -1 If oy2 > 187.5 - 20 Or oy2 < 62.5 Then ody2:* -1 Flip Until KeyHit(KEY_ESCAPE) Or AppTerminate() EndGraphics() End
I created these modules because I will find them usefull and as such I will update, etc. when I need to (or if there are are enough requests for a feature, and I know how to add the feature :)
There are limits of course: You can only use it with GLMax2DDriver(): You can not use Max2D drawimage, etc. with them. I have included custom drawimage() and drawimagerect() commands and I might add tileimage and drawimageblock if needed.
You can use it for commercial/free projects, no restrictions apply.
Get It From Here!
Documents are in diablo.mod/highgfx.mod/doc