BasicGL for Blitz
Blitz3D Forums/Blitz3D Programming/BasicGL for Blitz
| ||
It is the first beta-package of BasicGL Games Library for Blitz3d. Many functions are not documentary yet, however BasicGL is completely functional and already allows to apply in Bltiz3d such functions as: creation of shadows, shaders, blur, various light effects and many another. Also now it will allow to apply in projects new formats - from md3, up to ms3d. The request to inform about all errors and wishes concerning future functions of BasicGL. http://agtools.com.ru/files/BasicGL/BasicGL_03b_bb.zip (NEW!!!) |
| ||
Sounds like I could have some fun with this. I'll definitely have a play and let you know how I go. Thanks man. |
| ||
B3D crashes with 'unkown runtime exception' when I try any of the demos. |
| ||
Seems to die at every instance of 'gInitGraphics'. |
| ||
However, I copied the contents of the bin directory into each samples directory and they work fine. |
| ||
I think you don't copy BasicGL files to "userlibs" folder of BlitzBasic. Try to read "documentation.chm". |
| ||
I followed the instructions but no joy |
| ||
Yeh, I did too (put contents of bin into userlibs - but, anyway, It works - very nice stuff. Does anything need to go in the Blitz bin folder? |
| ||
wow, this is REALLY nice. I'd love to see how this develops! I've tried it in blitzplus as well and it works just ok. I have to copy de dll and decls to the example folders as well. |
| ||
Yeh, "arkon" - people are going to love this - I posted the link in all the IRC channels. It is gives people a chance to lark about with the GL stuff prior to BMax. |
| ||
Works for me too now - like it! |
| ||
Did what puki said. Works flawlessly, some nice effects. |
| ||
I get a MAV followed by blitzcc.exe - Application Error The instruction at "0x01b76d2b" referenced memory at "0x01b76d2b". The memory could not be "read". and a 'we are sorry...' message if I just have the files in the userlibs directory. copying to individual directories seems to solve it though. I do get a MAV when pressing the left or right cursor keys in the terrain demo when running from the IDE or running a version I have compiled myself, but not from the supplied exe (although they don't appear to do anything in that). Looks very promising btw :) |
| ||
It seems to let you mix DX and GL together, at the same time. You get a performance hit though. You can use Blitz commands in there too. |
| ||
None of those are made in Blitz3D. As Im pretty sure its impossible for a B3D exe to be 8 KB. But still, pretty impressive! |
| ||
True "MrSak" - when compiled in Blitz3D, the suckers bloat up. "arkon" - does it have vertex stuff? Plus, how did you compile the .exe's? EDIT: The problem in turning in the terrain demo is due to 'Actor' not being defined - I replaced it with 'Camera'. |
| ||
Vertex stuff coming soon... :) Then .exe's compile in PowerBasic compiler. |
| ||
Needs a proper shadow system thought ("sswifty"?) You have to parent each surface individually to the shadow: ;===================================================== ; Basic GL For BlitzBasic © 2004 ; Creator: Albert Khakimov (arkon) - arkon@... ; Sample: Shadow ; Version: 0.1 ; Author: Korolyov Sergey (ventru) - ventrual@... ; Date: 13.11.04 ;===================================================== Include "../../Constants.bb" Include "../../keycodes.bb" Global Camera, Light, Plane Global Actor, Actor_Weapon, Actor_Shadow ;3d Graphics initialization ;gInitGraphics(640, 480, 32, 0, 0) gInitGraphics(1024, 768, 16, 0, 0) ;Adjust buffer options gBufferOptions 1, 1, 1, 0, 0, 0, 0, 0, 0 gCreateText 1, 18, "Press Left or Right key to rotate actor", 0, 0, 0, 0 ;S C E N E ;------------------------------------------------------------------------ gAmbientColor 1, 1, 1 ;Methods of scene sorting And culling gSceneSorting 1 gSceneCulling 3 ;Create Camera Camera = gDefaultCamera() gSetPosition Camera, 60, 30, 40 gSetDepthOfView Camera, 200 ;Create Light Light = gCreateLight(0) gSetPosition Light, 50, 100, 50 ;Crea Plane Plane = gCreatePlane(200, 200, 0) gSetAbsDir Plane, 0, 1, 0 gSetPosition Plane, 0, -24, 0 gPlaneTiles Plane, 5, 5 gLoadObjectTexture Plane, "../../media/back1.jpg" gObjTextureMode Plane, 1 ;Crea Plane Plane2 = gCreatePlane(200, 200, 0) gSetAbsDir Plane2, 0, 0, 1 gSetPosition Plane2, 0, 0, -22 gPlaneTiles Plane2, 5, 5 gLoadObjectTexture Plane2, "../../media/back1.jpg" gObjTextureMode Plane2, 1 ;Crea Plane Plane3 = gCreatePlane(200, 200, 0) gSetAbsDir Plane3, 1, 0, 0 gSetPosition Plane3, -22, 0, 0 gPlaneTiles Plane3, 5, 5 gLoadObjectTexture Plane3, "../../media/back1.jpg" gObjTextureMode Plane3, 1 ;A C T O R S ;------------------------------------------------------------------------ ;Load Actor Actor = gCreateActor("../../media/md2/tris.md2", 0) gSetAbsDir Actor, 0, 1, 0 gSetAbsUp Actor, 0, 0, -1 gLoadObjectTexture Actor, "../../media/md2/skin.jpg" gAnimationInterval Actor, 200 gAnimationMode Actor, 2 gSetTargetObject Camera, Actor ;Load Actor Weapon Actor_Weapon = gCreateActor("../../media/md2/weapon.md2", Actor) gLoadObjectTexture Actor_Weapon, "../../media/md2/weapon.jpg" gSetAnimations Actor_Weapon, Actor gAnimationInterval Actor_Weapon, 200 gSyncronize Actor_Weapon, Actor ;Create Actor Shadow Actor_Shadow = gCreateShadowVolume(0) gAddShadowCaster Actor_Shadow, Actor, 0 gAddShadowCaster Actor_Shadow, Actor_Weapon, 0 gAddShadowLight Actor_Shadow, Light, 0 gShadowMode Actor_Shadow, 0 gShadowColor Actor_Shadow, 0, 0, 0, 0.5 gShadowOptions Actor_Shadow, 0, 1, 0, 0 gSetParent Plane, Actor_Shadow gSetParent Plane2, Actor_Shadow gSetParent Plane3, Actor_Shadow While gKeyHit(KEY_ESCAPE) = 0 And gProgress() = 1 If gKeyDown(KEY_LEFT) Then gRoll Actor, -1 If gKeyDown(KEY_RIGHT) Then gRoll Actor, 1 newTime# = gGetNewTime() gSetPosition Light, Sin(newTime#) + 10, 100, 40 Wend gCloseGraphics() This works - but, but when I added a second actor (not shown here), I couldn't cast shadows off both of them together - perhaps because of the 'parenting' of planes and shadows. |
| ||
For correct use of shadows with gShadowMode 0, it is necessary all objects on which the shadow should fall, do by children of an object-shadow. At use gShadowMode 1 it is not necessary. Soon all it will be in detail described in the documentation of BasicGL. |
| ||
In fact, "Ezbe" came up with a solution - no need to use the 'parent' command - that was what was throwing me in your example. Doing it this way the shadows appear softer and the faces have a bit of flicker to them. But altering 'gShadowColor' for both actors allows you to scale it (0.6 for example) - It's nice that the actors can have their own individual strength of shadow. ;===================================================== ; Basic GL For BlitzBasic © 2004 ; Creator: Albert Khakimov (arkon) - arkon@... ; Sample: Shadow ; Version: 0.1 ; Author: Korolyov Sergey (ventru) - ventrual@... ; Date: 13.11.04 ;===================================================== Include "../../Constants.bb" Include "../../keycodes.bb" Global Camera, Light, Plane Global Actor, Actor_Weapon, Actor_Shadow ;3d Graphics initialization ;gInitGraphics(640, 480, 32, 0, 0) gInitGraphics(1024, 768, 16, 0, 0) ;Adjust buffer options gBufferOptions 1, 1, 1, 0, 0, 0, 0, 0, 0 gCreateText 1, 18, "Press Left or Right key to rotate actor", 0, 0, 0, 0 ;S C E N E ;------------------------------------------------------------------------ gAmbientColor 1, 1, 1 ;Methods of scene sorting And culling gSceneSorting 1 gSceneCulling 3 ;Create Camera Camera = gDefaultCamera() gSetPosition Camera, 60, 30, 40 gSetDepthOfView Camera, 200 ;Create Light Light = gCreateLight(0) gSetPosition Light, 50, 100, 50 ;Crea Plane Plane = gCreatePlane(200, 200, 0) gSetAbsDir Plane, 0, 1, 0 gSetPosition Plane, 0, -24, 0 gPlaneTiles Plane, 5, 5 gLoadObjectTexture Plane, "../../media/back1.jpg" gObjTextureMode Plane, 1 ;Crea Plane Plane2 = gCreatePlane(200, 200, 0) gSetAbsDir Plane2, 0, 0, 1 gSetPosition Plane2, 0, 0, -22 gPlaneTiles Plane2, 5, 5 gLoadObjectTexture Plane2, "../../media/back1.jpg" gObjTextureMode Plane2, 1 ;Crea Plane Plane3 = gCreatePlane(200, 200, 0) gSetAbsDir Plane3, 1, 0, 0 gSetPosition Plane3, -22, 0, 0 gPlaneTiles Plane3, 5, 5 gLoadObjectTexture Plane3, "../../media/back1.jpg" gObjTextureMode Plane3, 1 ;A C T O R S ;------------------------------------------------------------------------ ;Load Actor Actor = gCreateActor("../../media/md2/tris.md2", 0) gSetAbsDir Actor, 0, 1, 0 gSetAbsUp Actor, 0, 0, -1 gLoadObjectTexture Actor, "../../media/md2/skin.jpg" gAnimationInterval Actor, 200 gAnimationMode Actor, 2 gSetTargetObject Camera, Actor ;Load Actor Weapon Actor_Weapon = gCreateActor("../../media/md2/weapon.md2", Actor) gLoadObjectTexture Actor_Weapon, "../../media/md2/weapon.jpg" gSetAnimations Actor_Weapon, Actor gAnimationInterval Actor_Weapon, 200 gSyncronize Actor_Weapon, Actor ;Create Actor Shadow Actor_Shadow = gCreateShadowVolume(0) gAddShadowCaster Actor_Shadow, Actor, 0 gAddShadowCaster Actor_Shadow, Actor_Weapon, 0 gAddShadowLight Actor_Shadow, Light, 0 gShadowMode Actor_Shadow, 1 gShadowColor Actor_Shadow, 0, 0, 0, 0.5 gShadowOptions Actor_Shadow, 0, 1, 0, 0 ;Load Actor Actor2 = gCreateActor("../../media/md2/tris.md2", 0) gSetPosition actor2,0,0,30 gSetAbsDir Actor2, 0, 1, 0 gSetAbsUp Actor2, 0, 0, -1 gLoadObjectTexture Actor2, "../../media/md2/skin.jpg" gAnimationInterval Actor2, 200 gAnimationMode Actor2, 2 gSetTargetObject Camera, Actor2 ;Load Actor Weapon Actor_Weapon2 = gCreateActor("../../media/md2/weapon.md2", Actor2) gLoadObjectTexture Actor_Weapon2, "../../media/md2/weapon.jpg" gSetAnimations Actor_Weapon2, Actor2 gAnimationInterval Actor_Weapon2, 200 gSyncronize Actor_Weapon2, Actor2 ;Create Actor Shadow Actor_Shadow2 = gCreateShadowVolume(0) gAddShadowCaster Actor_Shadow2, Actor2, 0 gAddShadowCaster Actor_Shadow2, Actor_Weapon2, 0 gAddShadowLight Actor_Shadow2, Light, 0 gShadowMode Actor_Shadow2, 1 gShadowColor Actor_Shadow2, 0, 0, 0, 0.5 gShadowOptions Actor_Shadow2, 0, 1, 0, 0 While gKeyHit(KEY_ESCAPE) = 0 And gProgress() = 1 If gKeyDown(KEY_LEFT) Then gRoll Actor, -1 If gKeyDown(KEY_RIGHT) Then gRoll Actor, 1 newTime# = gGetNewTime() gSetPosition Light, Sin(newTime#) + 10, 100, 40 Wend gCloseGraphics() |
| ||
In the primitives demo is that real CSG, or fake? Any chance of getting B3d model's to work? Also the terrain demo doesnt work with my old Intel GFX card, dont know why, normal blitz terrains work! I cant seem to find any reference to linepick's or entitypicks in the Help file either |
| ||
The old Intel card probably has poor OpenGL support. Alot of older cards are like that. |
| ||
Can I use B3D models? Thanks |
| ||
Excuse me, I can´t use B3d animate o B3d models Why? Thanks |
| ||
Probably not - unless you want to run DX within B3D and BasicGL at the same time - you'd take a performance hit though. Don't think it is really meant to work with .B3D models. |
| ||
i copy a file in userlibs but error in gInitGraphics thanks |
| ||
using B3D models is coming soon... |
| ||
Hi arkon :) i have test your Gl command :) very great job ! do you plan another shaders effects for the future ? :) Continue !!!! |
| ||
Coming soon some others types of shaders and support of Cg and GLSL shaders. |
| ||
Cool ! continue your work :) |
| ||
Initially when I copied over the .dll's etc. gInitGraphics failed, but resetting fixed things. The shadows.exe doesn't show shadows and the sounds.exe demo hangs my computer (win2k pro) However a reboot has the .bb examples working and there's some nice effects. I eagerly await documentation! |
| ||
great job Arkon, are there going to be linepicks? |
| ||
They all worked here apart from the shader/effect ones (obviously), the sound one crashing, and the shadow one not showing a shadow. (I tested the exes only) |
| ||
Very nice :) It would be nice to see this fully functional with B3d animated models! I'm sure people would pay for it :) The sound one crashes here, everything else fine P4 3.2Ghz, 1GB ram, 9800xt, WinXP |
| ||
Caff -sshhh! |
| ||
as far as I can tell, everything seems to work here on my somewhat ageing system. Athlon 1200 Geforce 3. the shader effects are pretty cool on the character. |
| ||
How did you get the sample exe's so small? |
| ||
.exe files compiled in the PowerBasic compiler. |
| ||
Oh hah! |
| ||
Blitz doesn't seem to recognise the new functions (gInitGraphics: function not found). Blitz has no 'userlibs' directory. I created one and copied the dll and decl files into it. Then I also copied them into the root blitz dirctory, the bin directory and the windows\system32 directory just to be sure. This did not help. Someone please explain what to do, slowly, as if I were a child. |
| ||
If you have just plain "Blitz Basic" and not Blitz plus or Blitz3d then you can't use userlibs since that feature was never added to the original 2d only Blitz basic ;) |
| ||
pi - If you have Blitz3d make sure you are using the latest version (download it from this site under 'Account' then 'Product Updates'. After installing you should have a \userlibs\ folder in your c:\program files\blitz3d\ or wherever you've installed it. Also make sure you install the latest patch to the same directory as you originally installed blitz. The DLL files should either be in the same directory as the source files (exe or .bb) - that should be enough to get running. Also copying them to your c:\windows\system32 should have the same effect, just be careful you don't have dll's all over the place as if a newer version comes out you'll have to overwrite them. So - keep them in the same place as the demo exe + source files. hope that helps |
| ||
I had to put all the files(dll´s,dcls) in the Blitz3d bin folder not in userlibs. After a test with the Terrain example I think it was slower than blitz3d terrain system but this is very interesting. |
| ||
In Terrain sample - used infinite terrain. Naturally speed will be reduced. |
| ||
The terrains seem to pop in and out randomly as it moves across. The shader examples are all black, which may just be the dark scene coupled with my cra..(Is that a swear word too?) monitor, which isn't the brightest monitor..in the err..monitor shed. The bad stuff out of the way, it's a nice start for sure. Though I did find the code overly complex/confusing. I'd think about streamlining usage a little. |
| ||
For engine with a plenty futures, small complication of a code - inevitably. |
| ||
It works good. But I think according to the GLScene licence you have to give credit to GLScene and put a link to their website glscene.org |
| ||
Release of BasicGL 0.2 version. New futures: Particles effects, Mirrors, ODE Physics base, more primitives objects, new animations functions, materials futures, RayCast, MemViewer and others... Various mistakes are corrected. Downloads here: http://blitz.pp.ru/file/BasicGL/BasicGL_02_bb.zip (~1.9Mb) |
| ||
Thanks for this "arkon". Keep up the very good work - it has proven to be a pleasant distraction for me - although Half-Life 2 has taken over again. |
| ||
Caff- Ta! Updating Blitz did the trick. :) |
| ||
to Arkon Thanks for this great plugin, but certain things need to be clarified, first if you could fix the "x" on the opengl window to properly work and also if you could take off the opengl text at the bottom right of the window, except if you're planning to release it for selling purposes. And also that the window exits, the b3d one when we exit the program in the blitz debugger |
| ||
I just noticed that the mirror demo is a faked mirror. I found a cheap mirror effect here: http://www.geocities.com/dimi_christop/OGLDemos/ogldemos.html Maybe you can knock together a new demo on this principal - or a better principal. EDIT: Actually, it isn't faked - but the mirror of the shadow goes outside of the mirror - it isn't a reflection - more a double scene - if you know what I mean. EDIT: Yes, the shadow is the problem - change Mirror = gCreateMirror(3, 3, 0) to Mirror = gCreateMirror(1, 3, 0) and you will see it. |
| ||
@nassimamar: Arkon has already said that Blitz has a problem with closing the program from the X and can't be fixed for now. Just exit using escape key me thinks. |
| ||
In this way for mirror is not used stencil buffer. He mustbe enabled in BufferOptions. With close window on X not problems yet (was in old versions, but corrected now). Maybe bug in something sample, please describe a problem more in detail. |
| ||
The 'x' problem (close window) is still there. It seems to be linked to 'gGraphics3D'. When using 'gInitGraphics' there are no problems. Are there any rules when using 'gGraphics3D'? Does the command have to have other commands used with it? EDIT: In fact, what is 'gGraphics3D' used for? You use 'gInitGraphics' in your demos - is 'gGraphics3D' valid? If so, what is it for? EDIT: Isn't 'gGraphics3D' for Blitz3D and 'gInitGraphics' for PowerBasic? Have you got them the right way round? |
| ||
gGraphics3D function is only for PowerBasic, for BlitzBasic must be used gGraphicsInit (see samples) |
| ||
Version:0.2 (18.11.04) of the documents has the two graphics commands the wrong way round. Also, it would be great if you could document the samples in more depth. I know it will take a while to finish the documentation, so a quicker option would be to document the samples you have already given us. Tell us what each command does and how to use it. This will let people experiment better with the sample code. EDIT: ps - Also, you need a 3D FPS type camera demo (Quake-type camera), so that people can walk around in 3D. |
| ||
I have been playing with the mirror demo. The 'ShadowPlane' was causing problems by reproducing the plane geometry. So I edited the shadow stuff out - the following looks really cool:;################################################################### ; ; Basic GL For BlitzBasic © 2004 ; Creator: Albert Khakimov (arkon) arkon@... ; Support: Korolyov Sergey (ventru) ventrual@... ; Sample: Mirror ; Version: 0.1 ; Date: 18.11.04 ; ;################################################################### ; ; Edited by "puki" ; ;################################################################### Include "../../Constants.bb" Include "../../KeyCodes.bb" Global Camera, CameraPV, Light Global Mirror, Torus, Plane, Ex ;3d graphics initialization gInitGraphics(640, 480, 32, 0, 0) ;S C E N E ;------------------------------------------------------------------------ gAmbientColor 0.2, 0.2, 0.1 gBackColor 0.0, 0.1, 0.2 ;Create Camera CameraPV = gCreateDummy(0) Camera = gDefaultCamera() gSetPosition Camera, 0, 1, 3 gSetParent Camera, CameraPV ;Create Light Light = gCreateLight(0) gSetPosition Light, -1, 5, 1 ;Create Torus Torus = gCreateTorus(0) gSetTargetObject Camera, Torus ;Create Plane Plane = gCreatePlane(5, 5, 0) gLoadObjectTexture Plane, "..\..\media\back1.jpg" gPlaneTiles Plane, 5, 5 gSetAbsDir Plane, 0, 1, 0 gSetAbsPos Plane, 0, -2, 0 ;Create Mirror Mirror = gCreateMirror(3, 3, 0) gSetAbsDir mirror, 0, 0, 1 gSetAbsPos mirror, 0, 0, -2.5 ;gObjDiffuse mirror, 0, 0, 1, 0.8 gLoadObjectTexture mirror, "..\..\media\back2.jpg" ;Create Extrusion Ex = gCreateExtrusion(mirror) gObjDiffuse Ex, 1, 0.1, 0, 1 gExHeight Ex, 0.1 gExParts Ex, 1, 1, 1, 1 gAddExContour Ex, "" gExContAddNode Ex, 0, -1.5, -1.5, 0 gExContAddNode Ex, 0, 1.5, -1.5, 0 gExContAddNode Ex, 0, 1.5, 1.5, 0 gExContAddNode Ex, 0, -1.5, 1.5, 0 gAddExContour Ex, "" gExContAddNode Ex, 1, -1.4, -1.4, 0 gExContAddNode Ex, 1, 1.4, -1.4, 0 gExContAddNode Ex, 1, 1.4, 1.4, 0 gExContAddNode Ex, 1, -1.4, 1.4, 0 While gKeyHit(KEY_ESCAPE) = 0 And gProgress() = 1 newTime# = gGetNewTime() * 40 deltaTime# = gGetDeltaTime() gRotate Torus, deltaTime * 100, 0, 0 gTurn CameraPV, deltaTime * 20 Wend gCloseGraphics() |
| ||
Even better - 2 mirrors (although, the reproducing plane geometry is back again):;################################################################### ; ; Basic GL For BlitzBasic © 2004 ; Creator: Albert Khakimov (arkon) arkon@... ; Support: Korolyov Sergey (ventru) ventrual@... ; Sample: Mirror ; Version: 0.1 ; Date: 18.11.04 ; ;################################################################### ; ; Edited by "puki" ; ;################################################################### Include "../../Constants.bb" Include "../../KeyCodes.bb" Global Camera, CameraPV, Light Global Mirror, Torus, Plane, Ex ;3d graphics initialization gInitGraphics(640, 480, 32, 0, 0) ;S C E N E ;------------------------------------------------------------------------ gAmbientColor 0.2, 0.2, 0.1 gBackColor 0.0, 0.1, 0.2 ;Create Camera CameraPV = gCreateDummy(0) Camera = gDefaultCamera() gSetPosition Camera, 0, 1, 3 gSetParent Camera, CameraPV ;Create Light Light = gCreateLight(0) gSetPosition Light, -1, 5, 1 ;Create Torus Torus = gCreateTorus(0) gSetTargetObject Camera, Torus ;Create Plane Plane = gCreatePlane(5, 5, 0) gLoadObjectTexture Plane, "..\..\media\back1.jpg" gPlaneTiles Plane, 5, 5 gSetAbsDir Plane, 0, 1, 0 gSetAbsPos Plane, 0, -2, 0 ;Create Mirror Mirror = gCreateMirror(3, 3, 0) gSetAbsDir mirror, 0, 0, 1 gSetAbsPos mirror, 0, 0, -2.5 ;gObjDiffuse mirror, 0, 0, 1, 0.8 gLoadObjectTexture mirror, "..\..\media\back2.jpg" ;Create Extrusion Ex = gCreateExtrusion(mirror) gObjDiffuse Ex, 1, 0.1, 0, 1 gExHeight Ex, 0.1 gExParts Ex, 1, 1, 1, 1 gAddExContour Ex, "" gExContAddNode Ex, 0, -1.5, -1.5, 0 gExContAddNode Ex, 0, 1.5, -1.5, 0 gExContAddNode Ex, 0, 1.5, 1.5, 0 gExContAddNode Ex, 0, -1.5, 1.5, 0 gAddExContour Ex, "" gExContAddNode Ex, 1, -1.4, -1.4, 0 gExContAddNode Ex, 1, 1.4, -1.4, 0 gExContAddNode Ex, 1, 1.4, 1.4, 0 gExContAddNode Ex, 1, -1.4, 1.4, 0 ;Create Another Mirror Mirror2 = gCreateMirror(3, 3, 0) gSetAbsDir mirror2, 0, 0, -1 gSetAbsPos mirror2, 0, 0, 2.5 ;gObjDiffuse mirror, 0, 0, 1, 0.8 gLoadObjectTexture mirror2, "..\..\media\back2.jpg" ;Create Another Extrusion Ex2 = gCreateExtrusion(mirror2) gObjDiffuse Ex2, 1, 0.1, 0, 1 gExHeight Ex2, 0.1 gExParts Ex2, 1, 1, 1, 1 gAddExContour Ex2, "" gExContAddNode Ex2, 0, -1.5, -1.5, 0 gExContAddNode Ex2, 0, 1.5, -1.5, 0 gExContAddNode Ex2, 0, 1.5, 1.5, 0 gExContAddNode Ex2, 0, -1.5, 1.5, 0 gAddExContour Ex2, "" gExContAddNode Ex2, 1, -1.4, -1.4, 0 gExContAddNode Ex2, 1, 1.4, -1.4, 0 gExContAddNode Ex2, 1, 1.4, 1.4, 0 gExContAddNode Ex2, 1, -1.4, 1.4, 0 While gKeyHit(KEY_ESCAPE) = 0 And gProgress() = 1 newTime# = gGetNewTime() * 40 deltaTime# = gGetDeltaTime() gRotate Torus, deltaTime * 100, 0, 0 gTurn CameraPV, deltaTime * 20 Wend gCloseGraphics() |
| ||
"arkon" - how do you flip a mesh? Let's suppose I create a cube, but I want the cube to be a room - how do you view the room when the camera is inside the cube - can the mesh be flipped in some way? I'm seeing if I can resolve the reproducing geometry, with regard to the mirrors, by using a room. I mean turn a mesh (cube or other) inside out. I'm just wondering if the following can be inside a room to stop the geometry reproducing: ;################################################################### ; ; Basic GL For BlitzBasic © 2004 ; Creator: Albert Khakimov (arkon) arkon@... ; Support: Korolyov Sergey (ventru) ventrual@... ; Sample: Mirror ; Version: 0.1 ; Date: 18.11.04 ; ;################################################################### ; ; Edited by "puki" ; ;################################################################### Include "../../Constants.bb" Include "../../KeyCodes.bb" Global Camera, CameraPV, Light Global Mirror, Torus, Plane, Ex ;3d graphics initialization gInitGraphics(640, 480, 32, 0, 0) ;S C E N E ;------------------------------------------------------------------------ gAmbientColor 0.2, 0.2, 0.1 gBackColor 0.0, 0.1, 0.2 ;Create Camera CameraPV = gCreateDummy(0) Camera = gDefaultCamera() gSetPosition Camera, 0, 1, 3 gSetParent Camera, CameraPV ;Create Light Light = gCreateLight(0) gSetPosition Light, -1, 5, 1 ;Create Torus Torus = gCreateTorus(0) gSetTargetObject Camera, Torus ;Create Plane Plane = gCreatePlane(5, 5, 0) gLoadObjectTexture Plane, "..\..\media\back1.jpg" gPlaneTiles Plane, 5, 5 gSetAbsDir Plane, 0, 1, 0 gSetAbsPos Plane, 0, -2, 0 ;Create Mirror Mirror = gCreateMirror(3, 3, 0) gSetAbsDir mirror, 0, 0, 1 gSetAbsPos mirror, 0, 0, -2.5 ;gObjDiffuse mirror, 0, 0, 1, 0.8 gLoadObjectTexture mirror, "..\..\media\back2.jpg" ;Create Extrusion Ex = gCreateExtrusion(mirror) gObjDiffuse Ex, 1, 0.1, 0, 1 gExHeight Ex, 0.1 gExParts Ex, 1, 1, 1, 1 gAddExContour Ex, "" gExContAddNode Ex, 0, -1.5, -1.5, 0 gExContAddNode Ex, 0, 1.5, -1.5, 0 gExContAddNode Ex, 0, 1.5, 1.5, 0 gExContAddNode Ex, 0, -1.5, 1.5, 0 gAddExContour Ex, "" gExContAddNode Ex, 1, -1.4, -1.4, 0 gExContAddNode Ex, 1, 1.4, -1.4, 0 gExContAddNode Ex, 1, 1.4, 1.4, 0 gExContAddNode Ex, 1, -1.4, 1.4, 0 ;Create Another Mirror Mirror2 = gCreateMirror(3, 3, 0) gSetAbsDir mirror2, 0, 0, -1 gSetAbsPos mirror2, 0, 0, 2.5 ;gObjDiffuse mirror, 0, 0, 1, 0.8 gLoadObjectTexture mirror2, "..\..\media\back2.jpg" ;Create Another Extrusion Ex = gCreateExtrusion(mirror2) gObjDiffuse Ex, 1, 0.1, 0, 1 gExHeight Ex, 0.1 gExParts Ex, 1, 1, 1, 1 gAddExContour Ex, "" gExContAddNode Ex, 0, -1.5, -1.5, 0 gExContAddNode Ex, 0, 1.5, -1.5, 0 gExContAddNode Ex, 0, 1.5, 1.5, 0 gExContAddNode Ex, 0, -1.5, 1.5, 0 gAddExContour Ex, "" gExContAddNode Ex, 1, -1.4, -1.4, 0 gExContAddNode Ex, 1, 1.4, -1.4, 0 gExContAddNode Ex, 1, 1.4, 1.4, 0 gExContAddNode Ex, 1, -1.4, 1.4, 0 ;Create Another Mirror Mirror3 = gCreateMirror(3, 3, 0) gSetAbsDir mirror3, -1, 0, 0 gSetAbsPos mirror3, 2.5, 0, 0 ;gObjDiffuse mirror, 0, 0, 1, 0.8 gLoadObjectTexture mirror3, "..\..\media\back2.jpg" ;Create Another Extrusion Ex = gCreateExtrusion(mirror3) gObjDiffuse Ex, 1, 0.1, 0, 1 gExHeight Ex, 0.1 gExParts Ex, 1, 1, 1, 1 gAddExContour Ex, "" gExContAddNode Ex, 0, -1.5, -1.5, 0 gExContAddNode Ex, 0, 1.5, -1.5, 0 gExContAddNode Ex, 0, 1.5, 1.5, 0 gExContAddNode Ex, 0, -1.5, 1.5, 0 gAddExContour Ex, "" gExContAddNode Ex, 1, -1.4, -1.4, 0 gExContAddNode Ex, 1, 1.4, -1.4, 0 gExContAddNode Ex, 1, 1.4, 1.4, 0 gExContAddNode Ex, 1, -1.4, 1.4, 0 ;Create Another Mirror Mirror4 = gCreateMirror(3, 3, 0) gSetAbsDir mirror4, 1, 0, 0 gSetAbsPos mirror4, -2.5, 0, 0 ;gObjDiffuse mirror, 0, 0, 1, 0.8 gLoadObjectTexture mirror4, "..\..\media\back2.jpg" ;Create Another Extrusion Ex = gCreateExtrusion(mirror4) gObjDiffuse Ex, 1, 0.1, 0, 1 gExHeight Ex, 0.1 gExParts Ex, 1, 1, 1, 1 gAddExContour Ex, "" gExContAddNode Ex, 0, -1.5, -1.5, 0 gExContAddNode Ex, 0, 1.5, -1.5, 0 gExContAddNode Ex, 0, 1.5, 1.5, 0 gExContAddNode Ex, 0, -1.5, 1.5, 0 gAddExContour Ex, "" gExContAddNode Ex, 1, -1.4, -1.4, 0 gExContAddNode Ex, 1, 1.4, -1.4, 0 gExContAddNode Ex, 1, 1.4, 1.4, 0 gExContAddNode Ex, 1, -1.4, 1.4, 0 While gKeyHit(KEY_ESCAPE) = 0 And gProgress() = 1 newTime# = gGetNewTime() * 40 deltaTime# = gGetDeltaTime() gRotate Torus, deltaTime * 100, 0, 0 gTurn CameraPV, deltaTime * 20 Wend gCloseGraphics() |
| ||
Use function gCubeNormalDirection() for setting cube normals orintation. |
| ||
Thanks "arkon", but I couldn't get it to work. Anyway, by replacing the While/Wend loop in the terrain demo with the following code, it enables the cursor keys to steer the camera: While gKeyHit(KEY_ESCAPE) = 0 And gProgress() = 1 If gKeyHit(KEY_F2) ;Polygon mode pMode = pMode + 1 If pMode > 2 Then pMode = 0 gSetPolygonMode Mat_1, pMode End If ;Move Camera newTime# = gGetNewTime() * 50 deltaTime# = gGetDeltaTime() ; gMove Camera_PV, -deltaTime# * 60 x# = gGetX(Camera_PV) y# = gGetY(Camera_PV) z# = gGetZ(Camera_PV) ty# = gGetTerrainHeight(Terrain, x#, y#, z#) y# = y# + ((ty# + 20) - y#) * deltaTime# * 10 If y# < ty# + 5 Then y# = ty# + 5 gSetPosition Camera_PV, x#, y#, z# ; gSetRotation Camera_PV, 0, Cos(newTime#/ 4.0) * 60, 0 If gKeyDown(KEY_UP) Then gMove Camera_PV, -1 If gKeyDown(KEY_DOWN) Then gMove Camera_PV, 1 If gKeyDown(KEY_LEFT) Then gTurn Camera_PV, -1 If gKeyDown(KEY_RIGHT) Then gTurn Camera_PV, 1 Wend |
| ||
Here's the Terrain Demo without the LOD popping. |
| ||
Nice on "Phil74" - I saw this post while I was in work - People should feel free to post anything they do with BasicGL as "arkon" and "ventru" are looking for more demos (well, "ventru" mentioned it to me). One thing I would like to see is a FPS mouselook system - I started doing one, but it is a bit fiddly with only gMouseX() and gMouseY() - I was kludging the normal speeds used in Blitz by calculating the distance the mouse moves from left/right at set points. If anyone thinks they can easily do one then post it - will be appreciated - mine's a bit naff. |
| ||
Very small FPS mouselook system demo: http://blitz.pp.ru/file/BasicGL/FPSControl.zip |
| ||
Nice one "arkon". EDIT: I don't remember seeing those 'gMouseSpeeds' before - it wasn't in the doc list - I was trying to manually calculate them. |
| ||
Very nice work !!! i hope use B3D for the next release :) It is possible to make bloom effect under BasicGL ? |
| ||
I am Very new to this BlitzGL stuff, Once you set up in Blitz GL, Standard blitz command do not work, for instance The Text Command... Is this normal? Is this going to be almost a complete replacement for all graphics related stuff? Regards, Eric |
| ||
Support b3d will appear closer to the first version. filax: Describe please more in detail this effect or give the reference where it can be seen. Eric: Graphic commands is impossible to use it , because BasicGL completely replaces standard Blitz render. |
| ||
This looks very very very very very promising :) There's a hell of a lot in there for a 0.2 release. I'm glad to hear that .b3d support is coming. Am I right in assuming that the finished product will be sold for cash, and a BlitzMax version is planned? |
| ||
Could you draw to a blitz graphic buffer and then pass that to BasicGL to render? |
| ||
Arkon, When do you think the Docs will be ready? Eric |
| ||
For BlitzMax support is planned. To use blitz render it is impossible. The base of docs will be ready to version 0.3, more full to version 0.4/0.5 |
| ||
New version of BasicGL - 0.3 - http://agtools.com.ru/files/BasicGL/BasicGL_03b_bb.zip - full (~3Mb) New features: - LensFlare - SkyBoxes - WaterPlane - Navigators - Support of PAK archives - Hide of blitz window on start - Functions of meshes modification - New prototype of Documentation (full version is coming soon) And many others... List of functions: http://agtools.com.ru/files/BasicGL/Documentation.zip (more then 900 functions!!!) |
| ||
Try to run SpeedTest_BB.bb and SpeedTest_GL.bb in BGL Samples path, and please post results (fps value) of test + configuration of your computer. |
| ||
Aha, I will download this now and have a go on it. p.s. Blitz peeps - get downloading and posting your results - "Arkon" is working hard on this. |
| ||
Hi Arkon ! :) very great add in this release :) maybe the B3D for the next ? :) and a bloom effect :) |
| ||
nice job, arkon. Ur the sort of guy that acts more than talking. *applauding with both hands* |
| ||
The FPS in 'SpeedTest_GL.bb' is not displaying. I was going to edit the timing across from the other demo, but it uses different timing. EDIT: Ignore that - my PC was busy doing something else, sending the CPU useage through the roof. 'SpeedTest_GL.bb' - 290-340 FPS 'SpeedTest_BB' - 150-170 FPS EDIT: 64bit Athlon 3200 (2.2GHz) - 1GB 3200 (400MHz) RAM - ATI Radeon 9800 Pro |
| ||
GL: 197-257 B3D: 80-92 Good work! |
| ||
SpeedTest_GL : 280 SpeedTest_BB : 120 P4 3.2Ghz, 1gb ram, ATI 9800XT |
| ||
Nice to see some new stuff in there. Love the water one - fast. Just trying some of the demos - the cubemapping one still doesn't work properly - the reflections in the teapot do not move as the objects do - but as a static cubemap it looks okay The Mirror demo looks suspiciously like my version - snigger. The MemViewer demo *seems* to look better for some reason. |
| ||
Thanks for support :) 2puki we try to fix cubemapping sample, and when we do that - give you to know about that 2filax support of .b3d and bloom effect coming soon with 0.8 version Now you can watch the last news and updates of BasicGL on our site. Coming soon forum, new demos, samples and many more... |
| ||
None of the demo will work on my machine - I gave up and deleted everything. No matter where i copied the dll's and stuff from the Bin directory made any difference. It could never find the first intgl**** or whatever function I can't remember the exact name. |
| ||
@Hujiklo - You need to put the dll's and .decls (from the bin directory) into your Blitz\userlibs directory, where you installed Blitz. You should run the latest version of Blitz - Upgrade your Blitz to the latest version using the Account -> Product Updates link on this website. |
| ||
Yep, and (as mentioned before) try putting BasicGL.dll in your System32 folder. |
| ||
The problem is likely people are putting the .dlls into the userlibs folder. Blitz doesn't look there, it looks in the same folder as your .BB(When run from the ide, same folder as the .exe if compiled) file is located, AND system32. Just d/l, will post fps in a bit. |
| ||
Hi Arkon :) i have look the different function for sound :) Can you add an fmod function for get current channel data ? like BASS.DLL for make vumeter for MP3 or mod ? And continue your lib !!! it's a great work ! |
| ||
gCreateText doesn't work for me. I can see symbols only (- , ; : etc...). |
| ||
yep version .3 work in my computer yep mongia |
| ||
gCreateText wont work properly on my system. Bitmap Font works well. Great speed increase on speed test. Blitz 50fps BasicGL 128fps dual P3 1Ghz 2Gig Ram GF4 Ti 4400/128MB DX9 |
| ||
strange with 0.2 the cubemapping sample worked ... now with 0.3 it doesnt work anymore ( mobility radeon 9700 with regular catalyst drivers ) |
| ||
Hi i have try GLBasic with B+ and the program launched quit the IDE at each compil ??? I have try with standar B+ IDE and VisualBlitz There is not this problem with Blitzbasic 3D. |
| ||
b3d + basicgl with a basicgl window and a b3d window -http://www.plasma.art-fx.org/basicgl.JPG |
| ||
2filax Try to delete gHideParentWindow function on start. |
| ||
all files from 0.3 works here arkon |
| ||
very cool arkon! very nice indeed! |
| ||
Arkon, 1.9 Athlon speed test .bb = 70 fps GL = 186 fps IPete2 |
| ||
runs great: Benias 1.5ghz, mobility radeon 9700: bb 85fps, bg = 190 fps |
| ||
very cool! is this free? someone here said its not, but on blitzcoder.com people are saying its free to use!! im confused!! |
| ||
a little question: Is there anything special about gProgress()? I tried to get the speedtest running with PureBasic and anything works beside this command. Would be cool to have a 3D engine for PureBasic and Blitz in the same :) |
| ||
gProgress function controls window close and carries out the calculations for features like physics, particles, collisions etc. |
| ||
I want to ask, why such demand on B3D format, in fact in it it is not possible to use all opportunities which can be used? |
| ||
I want to ask, why such demand on B3D format Because .b3d format has a FANTASTIC 3DSMax exporter supporting animation, bones, materials, collisions, helpers, shapes, lights, cameras - well everything really. PLEASE don't let this thing down by not including a great art path - soooo many engines do exactly this and end up being a waste of time. However, a cutom exporter that supports all the new stuff BasicGL can do would be great too, but you'll have to write one for each 3D modeller (Milkshape, 3DSMax, Maya, Lightwave, Wings, Cinema4D, Gamespace, TrueSpace, etc. etc.) to keep everybody happy, whereas a .b3d exporter already exists for most of them. Speed test : BB - 79-85 BGL - *** 270-280 *** 3Ghz PC, Geforce Ti4200 Wow. Extremely wow. |
| ||
Hi Arkon :) Why B3D format ?? strange question :) simply because it's a very versatil format who help blitz coder/gfx for add effect easily (blend ,fx etc) without coding :) So, bones support and Skin support. I hope to see B3D format in a future release ! :) Else you don't contribute, to help coder to use your lib ! You have made a fantastic job with your lib ! (free, stable, and quick) it was an error to forget this 3D file format :) And i have see to the doc the CG support ? great add :) can you for the next release make a little example ? Continue your work ! |
| ||
because of b3d pipline, it's easy to export it from max ;) |
| ||
For example to use geometry with lightmaps created with gile,s. |
| ||
I have another question about Basic GL ? :) why don't make a standalone langage ? |
| ||
What is "standalone langage"? |
| ||
Just downloaded and the only problems I had were with ODE, it just threw up errors everywhere. The Bass.dll would not work and cube mapping does not appear to work on the cubemap demo. Well it does not update it's just static. Other than that its fantastic... How do we get to use it without the logo displayed :) |
| ||
>What is "standalone langage"? java, c, c++, blitz3d ;) he means right now you can't use it standalone, it doesn't have it's onw compiler, it's not it's own master ;) |
| ||
You mean it's no longer master of it's own domain? Ewww. (Seinfeld fans only.) |
| ||
Bloody brilliant work Arkon (as usual!!) .. I couldn't get fullscreen to work without the framerate grinding to a halt (??) ... but the demos are superb. This is a really powerful little monster you're making here! |
| ||
"Standalone" is not the same as "Schwarzendaegger" ;) Well, I think it's one thing to make such a library usable for a range of Basic Langunages, but it's an entirely diffrent job, and probably much more complicted, to write a full programming language with a compiler like Blitzbasic or Powerbasic. So I guess you don't have to re-invent the wheel. Maybe most poeple wouldn't like to settle to an other Basic Compiler, so it's better to offer a library that works with multiple existing and popular Compilers. (IMHO) Anyway. There are still some questions: Are you planing to charge money for this library? And is it going to replace all commands that Blitz3D offers, i mean, collision, linepicks, surface and vertex commands? BTW. Yes, the B3D Format is wanted because there are many nice tools that have been created for this Format (Gile[s], Maplet, Decorator, FLE, Pacemaker etc.) and it would make things easier to port Blitz Projects to BasicGL, especially with future usage of BlitzMax in mind. BTW thank you very much for your excellent work and engagement for this project. |
| ||
If I could get gProgress running without this "invalid value" error I would it even have working on PureBasic. but as this is the core function, nothing runs at the moment which is quite sad, as I wanted to do the speed & filesize test :) |
| ||
is this free? ive read one place it is and another it isnt! |
| ||
You'll have to pay 100 dollers for usage of bass if you go commercial..reason I stopped using bass. The rest of it should fall under the glScene(i.e the original delphi engine) license, i.e free. |
| ||
Are you going to make a converter tool, so that one can convert old programmes/games on BlitzGL? Probably there would be some issues that can;t be convertet, like when your cammand needs more parameters but lines containing such 'unconvertables' could be highlightet red or so... |
| ||
I'll back up the b3d format, in part because on its own its a nice flexible formatr that gives quite a few nice surface and texture options through flags that don't require any coding on the artists part to implement. Once you add B3d Pipeline to the mix you have a REALLY powerfull tool that not oly helps artists but takes a lot of tedious work from coders, some of the animated things being almost impossible to do in code and it all works through extensions that read data from child node position and rotation combined with name tags so that it shoudl run in almost any blitz compatible engine that supports the .B3D format. Just incase your not familiar with B3D Pipeline check out: http://www.onigirl.com/pipeline/ for a list of animation amd static features that it supports direct from 3dsmax custom blitz material type and native modeling and animation tools. |
| ||
I have 2 naive questions: - what is the difference with VividGL?? Is it just the same kind of product done by 2 different people?? - what is the difference with the coming BlitzMax?? If I understand well, your product is a replacement of BM?? |
| ||
BlitzGL full replacement of Blitz3D/BlitzPlus/BlitzMax rendering engine. |
| ||
Is it just the same kind of product done by 2 different people?? Not really, vividGL is not a wrapper.(they're both 3d engines though, obviously) |
| ||
replacement of an engine that does not even exist? ;) ( BMax 3D ) |
| ||
Arkon - I don't know if you already have this feature or not but a lot of people on this board have a real dilemma with Blitz realtime lighting with shadow maps. Do you support a simple decal lighting feature? If you did, I would buy BlitzGL this minute. It's re-occurring topic on these boards how to make torch lights and such so that they will affect lightmaps convincingly. I think you would please an awful lot of people if you provide this feature. |
| ||
Good work Arkon, please keep working on this, I'm very interested in it :) Oh, and yes .b3d file support would be great :) |
| ||
man, these is sweet! |
| ||
Just been looking through the samples supplied - Seems really nice... Keep up the development!!! Good stuff! :) |
| ||
I really want to start playing with this, but I really don't understand the functionality of the command, I know that 900 commands is a lot to create documentation for, but I would really appreciate the basics command set. Surely one does not need to know 900 commands at first. Can you start the documentation on the core functions? Thanks Eric |
| ||
Hey, just got done downloading it and I thought it was the best thing to hit the Blitz Community in years, but the only this I see that would make it even better was having a 2D OpenGL like system using Quads if maybe you could add that in later on in the road it would make this system very very powerful and fast running for us 2D junkies :P Anyways awsome work and keep it up ;) |
| ||
Speed test : BB - 140-160 fps BGL - 300-320 fps AMD 64 3400+, ATI Radeon 9700 Pro |
| ||
We are currently working on b3d loader. Loading static meshes and materials are done. Next will be automatic lightmap loading and then animation. Work above the documentation is conducted. Certainly features with 2d will be essentially expanded. While there are no reasons to create own compilator, because Mark has outstripped everyone who will want to keep up with it. :) |
| ||
Call this 'professional curiousity'(grin) if you like, but how much do you plan on charging for basicGL or will it be free? i've seen it asked quite a few times with no response. |
| ||
Mmm - "arkon" has never mentioned a price, but "ventru" has in IRC. "ventru" mentioned $29.95 for version 0.5 and $49.95 for version 1. Of course the above might not be set in stone - I was just probing for an idea. |
| ||
ARKON - I don't know if you already have this feature or not but a lot of people on this board have a real dilemma with Blitz realtime lighting with shadow maps. Do you support a simple decal lighting feature that will work with lightmaps? If you did, I would buy BlitzGL this minute. |
| ||
I've read quite a few post asking for B3D support, but apart from the post where arkon states that it supports MD3 and MS3D (and MD2, looking at the examples), what other formats are supported, complete with animation? I would love to have native LWO/LWS support (no offence to Terabit for his B3D converter, but native Lightwave support would be great). Anyway, as many others I am very impressed... keep up the good work! :) |
| ||
Hi arkon :) It seem to have a problem with your forum ? i'm registered but when i want to login the browser say : www.ag-tools.com could not be found ? |
| ||
I wonder what would happen if I added a snow man with jingle bells in the background...2 days tops? |
| ||
Our forum is now open. If you have any questions about BasicGL please post them there, so we can answer more quickly. http://www.ag-tools.com/ Thanks. |
| ||
Please finish the docs, too much functions are undocumented and it is very hard to figure out what they do. |
| ||
Work above documentation and lessons is now conducted. We shall be grateful, if will express, what sections of documentation need to be prepared first of all, and what later. The request to leave answers on ours forum. Thanks. |
| ||
Release the next update of BasicGL - 0.34. - New scripts system - User Shaders, Outline Shaders - Full access to OpenGL - System of Pathes - More sound features - Support of b3d format (without animation) Download NOW! Expect new commercial version of BasicGL. Considerably modified documentation and new additions expect you. |
| ||
WONDERFUL! Thanks IPete2. |
| ||
Looking forward to the commercial version - I've got a nice looking+playing game going in b3d at the moment that I could covert over to give BlitzGL a good test if you're interested. However, I'd need .b3d animation support (for bones AND parent/child stuff). |
| ||
arkon, what is the .aaf format for animation files? I saw it in the actor examples. |
| ||
In relation to this: Check the BasicGL forums before purchasing BasicGL- "arkon" and "ventru" appear to have gone walkies. www.ag-tools.com/forum/index.php EDIT: arkon (Posted 2005-03-02 04:03:26) Sorry everybody. I can't actively participate in discussions and support, because I have some big troubles with health. In the near future I will continue to work on my projects. Please post all your questions about licensing and BasicGL engine to Modenov Ivan aka MOD at mod@... |
| ||
..[shoot]..I dont like this things..why is so hard to be consistent, especially when someone wanna pay for that...I hope its not bad 'health' problem.. |
| ||
the link to basicGL is broken... have someone got the basicGL lib?? colud someone please send me an email? thx :) |
| ||
Year me too! |