I think I don't get it...
BlitzMax Forums/BlitzMax Beginners Area/I think I don't get it...
| ||
I'm playing a little with the bmax demo... If it is possible, can you describe what is bmax as for a 6 years old boy :) I mean, I think I understand the OOP, but I don't get what is all the power behind max, for example, there is no 3D module, but then there's a demo which shows a teapot and then there are these "images effects" and they look as done with 3D sprites and not with 2D images... is this 3D or what??? So basically, what is exactly bmax? thanks! |
| ||
is this 3D or what??? To be or not to be. That is the question.In the strictest mathematical terms, no. BlitzMAX is not 3D, as it only has out-of-the-proverbial-box support for 2 cathesian axes. As for the internal working of BlitzMAX, then yes, it uses OpenGL and thus it is using your 3D hardware. BlitzMAX even provides a way to interface with OGL directly. The true awesome power of BlitzMAX lies in it's embrace of the object oriented paradigm - not the number of cartesian axes it uses to represent graphics. In short, BlitzMAX is as advertised. A powerful abstract language, with an easy to use 3D accelerated 2D commandset and low-level OpenGL access. |
| ||
yep, I know at the end, 3d graphics are just vectors projected on your screen, but, so, in the "3d department", the only difference between bmax and b3d is the 3D commands set?, is this what the 3D module will provide? (a "loadmesh()" and such commands), and, although it would be a lot of work, could you still start building your own 3D engine with bmax as it is today? thanks flame! |
| ||
take a look at Mark's worklog to see some of the goodies in store for us :) |
| ||
checking now, thanks :) |
| ||
the only difference between bmax and b3d is the 3D commands set?, is this what the 3D module will provide? Yes. The 3D module will provide an easy to use 3D command set, but with quite a bit more advanced functionality than Blitz3D. Also BlitzMAX provides cross platform capabilities and OOP. although it would be a lot of work, could you still start building your own 3D engine with bmax as it is today? Yes. Quite a few are doing just that already. |
| ||
got it :) . |
| ||
>is this 3D or what??? To be or not to be. That is the question. I assume you meant "2D or not 2D... that is the question". (It's the way I tell 'em.) |
| ||
I was going to start another thread but I'm going to use this one for simple questions, anyone is welcome to do the same here... Ok, I'm trying to get the bm language, I made this simple code, you can run it, 1) As you can see, there is a global list ("listall") Is it there any way to scan all the elements without having a list? and in case there is not, how could I eliminate that global variable? Can I have a variable holding a list inside the Type itself? 2)When the field "lifetime" is cero, I want to delete the object, I want to completely free it and I can't find how (it was the "Delete" command in B3D) Thanks! Paolo. |
| ||
Can I have a variable holding a list inside the Type itself? yes, you can. something like: Type TmyType Global myTypeList:TList Field life:Int Method update() life:-1 If life <1 Then Destroy(Self) End Method Function Destroy(dest:TmyType) For Local t:TmyType = EachIn myTypeList If dest = t Then myTypeList.Remove(dest) dest = Null FlushMem Return EndIf Next End Function Function Create(life:Int) Local tempType:TmyType = New TmyType tempType.Life = life If Not myTypeList Then myTypeList = New TList myTypeList.AddLast(tempType) End Function End Type TmyType.Create(100) TmyType.Create(150) While TmyType.myTypeList.Count() >1 For Local a:TmyType = EachIn TmyType.myTypeList Print a.life a.update() Next Wend *EDIT* updated to reflect question 2 |