Thanks man for all the additions.
Hi,
as you probably noticed, last thinBASIC preview contains first public version of TBGL 0.2.2.
This version is most probably the last for Windows98, so I dedicated some time to tune some older skeletons in wardrobe
What is new, what has changed, what was wrong?
Window handling
After long long time, there is an update on window handling functions!
You can setup start position for window, define standard buttons ( maximize, minimize, close ), and set custom icon to it.
Maximalization can work in 2 modes - one is the classic Windows one, second preserves the aspect ratio and centers position.
This should be compatible with Abraxas proposal, just with some minor name changes.
Other new thing is possibility to retrieve supported video modes, and switch to fullscreen and windowed mode during script execution.
This was finally quite easy, so Eros, please take my apologies it took so long :-[
Fonts
One world is not enough, James Bond knows it. Does it apply to fonts too? According to Mike yes, so I added feature allowing to specify 4 custom Windows fonts and 4 custom bitmap fonts.
So in very crazy situation you can plot 8 types of fonts on screen at the same time .
Sounds mad? It can allow some "functionality hijacks" too. Imagine one bitmap font as for menus, second for in-game texts and third bitmap can contain graphical symbols for creating GUI for example ( like in DOS times, but here you could use bitmap editor to create something really nice ).
Also the character position precision in case of BMP fonts was improved.
Bones
Bones bring just mini update in this preview - TBGL_m15DefBoneEmpty, TBGL_m15GetBoneChild, TBGL_m15GetBoneChildCount.
Limit of 32 bones was raised from 32 to 64 too.
It will take some time to facelift bone engine internals, but stay tuned
Entities
You can now give them name, as well as custom data. Very useful in both games and "serious applications".
Thanks to thinBASIC perfect commands for UDT assignments it is pretty easy to use.
Kent, TBGL_EntityGetFreeID is here Hope you will like it - it can return index of first free entity from beginning or starting from user defined ID.
Tweaks of old stuff
Both display lists and textures have limits raised from 255 to 1024, which will make life a bit easier.
Noticeable improvement should affect entity rendering, TBGL 0.2.1 used MAT functions provided by compiler, which are very nice to work with.
But TBGL 0.2.2 comes with hand optimized matrix internals, which positively affects all scripts. Speed gain depends on situation, but for more complex scenes it can be as much as 30%, sometimes even better. And that still without using inline assembly.
Improved was garbage collection too, and TBGLized Windows fonts are not needed to kill manually anymore, all is done automatically ( even when creating new font to already used slot ).
Help file corrects typos and adds fulltext search, so I hope it will serve better than before.
So that is all for now, you can try the sample scripts ( nothing beautiful, just simple examples of use ).
To start coding, just use templates from thinAir TBGL template directory.
Thanks again for the support and suggestions to all!
Petr
P.S. If some artists from here have a some free time, I would appreciate 3 lowpoly models of fish. Small, bigger and biggest, in size range [0.1, 1.0] meters... Not in hurry, but got an idea for more juicy demoscript than you can find in SampleScripts/TBGL/TBGL_0220_Samples
Learn 3D graphics with ThinBASIC, learn TBGL!
Windows 10 64bit - Intel Core i5-3350P @ 3.1GHz - 16 GB RAM - NVIDIA GeForce GTX 1050 Ti 4GB
Thanks man for all the additions.
Thanks Petr, I was pleasantly surprised to see the update out today. Lots of improvements and additions, thanks so much!!
Acer Notebook: Win 10 Home 64 Bit, Core i7-4702MQ @ 2.2Ghz, 12 GB RAM, nVidia GTX 760M and Intel HD 4600
Raspberry Pi 3: Raspbian OS use for Home Samba Server and Test HTTP Server
Thanks guys ,
did the fullscreen mode changing script run ok?
Bye,
Petr
Learn 3D graphics with ThinBASIC, learn TBGL!
Windows 10 64bit - Intel Core i5-3350P @ 3.1GHz - 16 GB RAM - NVIDIA GeForce GTX 1050 Ti 4GB
Hi Petr, nice TBGL update.
I tried using the 'fullscreen mode changing script' but it wouldn't work.
Apparently my new graphics card doesn't support a fullscreen resolution of '640 x 480'. :P
It only supports fullscreen at '800 x 600', '1024 x 768' & '1280 x 800'.
Operating System: Windows 10 Home 64-bit
CPU: Intel Celeron N4000 CPU @ 1.10GHz
Memory: 4.00GB RAM
Graphics: Intel UHD Graphics 600
Hi Matthew,
thanks a lot for reporting it!
That is odd ( both it was detected as supported, and that is not). Will investigate on this!
What is your graphic card model?
In case of unsupported resolution, RunTimeError dialog should pop up, with description of problem.
This works when you try to set for example 2048x4096. Do you get error message for 640x480 too?
Petr
P.S. Don't you have a Vista Matthew? I think there 640x480 is prohibied in general ( but not sure ) - then why WinAPI functions still return it as viable ???
Learn 3D graphics with ThinBASIC, learn TBGL!
Windows 10 64bit - Intel Core i5-3350P @ 3.1GHz - 16 GB RAM - NVIDIA GeForce GTX 1050 Ti 4GB
Mobile Intel 965 Express ChipsetOriginally Posted by Psch
I'm using the new driver that was released a few weeks ago.
Update
Yes, I'm running Vista, I've attached the error message.
Operating System: Windows 10 Home 64-bit
CPU: Intel Celeron N4000 CPU @ 1.10GHz
Memory: 4.00GB RAM
Graphics: Intel UHD Graphics 600
Hi Matthew,
thanks! It seems resolution change on Intel 965 can be problematic according to what I have read on net and Intel website.
I will try to get workaround.
The screen says problem is "640x400", not "640x480" ( or this really fails too ?).
On my PC I get this resolution listed as well, a bit odd one, but works.
I will try to find the problem reason.
Thanks,
Petr
Learn 3D graphics with ThinBASIC, learn TBGL!
Windows 10 64bit - Intel Core i5-3350P @ 3.1GHz - 16 GB RAM - NVIDIA GeForce GTX 1050 Ti 4GB
Hi Petr,
there is something wrong in your new function about getting the resolution.
My graphic chip doesn't support 640x960x16 but TBGL thinks it does
Michael
Edit: Maybe it is just the script that screws up here as the first dialog doesn't list this resolution.
Odd... more than odd. After adding some debugging stuff into the script... Everything works fine. Taking the debugging stuff out gives the same result. Now it runs fine. That leaves me a feeling that there are some memory problems with how thinBasic is storing datas at the moment.
Bookmarks