PDA

View Full Version : News



Andru
20-11-2010, 11:21 AM
Official website (http://zengl.org) is completed now, and as I wrote before in another topic - I prepared wrapper for Magic Particles. You can download it here (http://zengl.org/extra.html). All instruction about compilation are inside. But I want to warn you - this extra demo must be used in pair with ZenGL from svn(because of AV when application close). But you can wait till tomorrow, because I will try to prepare minor release with some fixes.
http://zengl.org/extra/magiczen/screen01s.jpg (http://zengl.org/extra/magiczen/screen01.jpg)

Another "release" is ZenFont.
http://zengl.org/tools/zenfont/screen01s.png (http://zengl.org/tools/zenfont/screen01.png)

WILL
20-11-2010, 07:49 PM
What's the web address? You didn't write it. :)

Andru
20-11-2010, 08:33 PM
WILL
Thanks, I just forgot about it :) First post is updated.

Andru
21-11-2010, 10:29 PM
ZenGL 0.2 RC5 released.

Changelog:
* [Direct3D]fixed tex_GetData and scr_ReadPixels
* fixed Range Check Error in PasJPEG
* fixed order of tiles in tiles2d_Draw
* fixed text rendering with font, which have more than one page
* function fx_SetColorMask now works correctly with batch2d_Begin/batch2d_End
* fixed text position when flags TEX_VALIGN_* are used with parameter Scale in function text_DrawInRect
* render targets won't be empty anymore on GeForce FX
+ [Direct3D]added constant APP_D3D_DEVICE for use with zgl_Get
+ added constants APP_WND_HANDLE and APP_OGL_CONTEXT for use with zgl_Get
+ added flags RT_USE_DEPTH and RT_CLEAR_DEPTH, RT_CLEAR_SCREEN was replaced by RT_CLEAR_COLOR
+ added function text_GetHeight

Links were updated in this topic (http://www.pascalgamedevelopment.com/showthread.php?6404-Description)

billwillman
22-12-2010, 10:31 AM
Can you support android?

Andru
22-12-2010, 11:11 AM
Can you support android?
For now - no. I don't have this device for testing, and I don't have any plans to buy it or use slow emulators without real hardware... :)

code_glitch
23-12-2010, 05:42 PM
Wow, this is some seriously amazing stuff going on here... ;) I look forward to the first release based on ZenGl. From what I've seen so far - I wouldn't mind it is Command and Conquer Generals looked that nice XD

dazappa
25-12-2010, 09:05 AM
For now - no. I don't have this device for testing, and I don't have any plans to buy it or use slow emulators without real hardware... :)
Heads up, this is what I got for christmas: http://www.archos.com/products/ta/archos_28it/index.html

$100 (usd), 800mhz and I think only 128mb of ram, but it's plenty to be a little dev machine. I'm going to see if I can get this working via debug mode for faster testing later today... But yeah, I don't know if it's wise to try to branch out too much with your project, but if you have the spare cash and time go for it.

chronozphere
25-12-2010, 10:23 AM
Oh nice... I've been looking into those archos tablets. If I buy, it will probably be the 10 inch one. Let me know what your experiences are. Especially concerning pascal gamedev. I know some of us have fiddled with android, but it seems that some extra work needs to be done to make it easier. :)

Did you try this (http://alexmogurenko.com/blog/programming/android-building-free-pascal-compiler-for-android/)?

And merry christmas! ;)

dazappa
26-12-2010, 10:52 AM
To be honest, I don't think trying to develop for android with pascal is worth the effort yet, but I'm sure I'll fiddle with it in the future.

As for the android device itself, it has some problems. The main issue is the screen; it's hilariously small and it's resistive, so very hard to work with. (The pricier models should list if they're capacitive) I actually ended up installing a third party keyboard similar to swipe to aid in usability. With it, I don't really get that many typos, but I'm still slower at using it than with a qwerty keyboard and stylus (at least for the moment, but dragging a stylus around with you everywhere too isn't too fun). I actually wrote up a nice long post from it to reply to this topic, but I took so long the forum logged me out and lost all progress. The devices also aren't recognized by google, so to get the google market and most of the apps, you have to do some workarounds. Archos has instructions for setting up debug mode, and I'll get around to that tomorrow.

The low memory is also turning out to be a slight problem; while the OS itself allows multitasking, it kills the apps that I wanted to multitask with because it needed more ram to run the active program. It's really no surprise to me, how much multi tasking are you going to do on a device this small? It's not what it's made for ;) Anyway, hopefully the more expensive archos devices will have more ram, but that seems to be a spec that goes unlisted on the product pages. The 28 might only have 64mb, in reality. Very useful though, some apps I have: a few games, irc, vnc, music, video, gallery, skype, email, facebook, chat, opera mini. So yeah, the thing can be useful

Kjow
07-01-2011, 01:48 PM
ZenGL is amazing! :)

Do you have planned to make it arm compatible? I noticed that trying to compile for arm-linux (under Ubuntu) there is an asm part that stops the compilation; maybe translating these few asm lines in pascal would make it arm-compatible :)

(so it could be also used for maemo/meego)

Andru
07-01-2011, 03:51 PM
ZenGL is amazing!
Thanks :)


I noticed that trying to compile for arm-linux (under Ubuntu) there is an asm part that stops the compilation;
The only function that use ASM-code is m_SinCos, but it must ignore ASM-code and use pure Pascal if CPU architecture is not x86 32-bit... But another problem in the latest version of ZenGL from svn is using object files from original libjpeg8b and zlib(for faster jpeg and png decoding).


(so it could be also used for maemo/meego)
I think this OS's based on Linux will use OpenGL ES instead of OpenGL, so there is a lot of work must be done for ZenGL... :)

Kjow
07-01-2011, 05:04 PM
The only function that use ASM-code is m_SinCos, but it must ignore ASM-code and use pure Pascal if CPU architecture is not x86 32-bit... But another problem in the latest version of ZenGL from svn is using object files from original libjpeg8b and zlib(for faster jpeg and png decoding).


I think this OS's based on Linux will use OpenGL ES instead of OpenGL, so there is a lot of work must be done for ZenGL... :)

If I remember well there is a wrapper from OpenGL to OpenGL ES for maemo, and from what I can remember it works. So developing in OpenGL and compiling for arm-linux should be enough... but I can't be sure :)

Andru
07-01-2011, 05:18 PM
Hm, maybe later I will try to build toolchain for ARM under my ArchLinux and will try to compile ZenGL... but for now I'm too busy with ZenGL 0.2 RC6 :)

Andru
22-01-2011, 09:51 PM
ZenGL 0.2 RC6 released.

Changelog:
- [Direct3D]fixed problem with render targets when using FreePascal 2.4.x
- [Direct3D]fixed tex_SetMask, wich was broken in RC5
- [Direct3D]fixed problems with camera and render targets
- [OpenGL]fixed slow terminating in some cases
- [Linux]DIRECTORY_HOME will return $HOME/.config/
- [Windows]timers will stop when window is moving(with enabled APP_USE_AUTPAUSE)
- [Windows]rendering will not stop when window is moving(with disabled APP_USE_AUTPAUSE)
- [MacOS X]fixed problem with wnd_SetCaption when using dylib
- [MacOS X]removed deprecated SetWTitle from wnd_SetCaption
- [MacOS X]DIRECTORY_HOME will return /Users/$username/Library/Preferences
- [MacOS X]all resources will checks first in App/Contents/Resources
- [MacOS X]log-file now puts near bundle
- optimized all functions which loads resources from memory
- fixed potential memory leak in font_LoadFromFile and font_LoadFromMemory
- fixed bug with scaling of text(the right bottom corner)
- PasJPEG replaced by original libjpeg8b(speed up to 5x for FreePascal and USE_LIBJPEG, by default enabled for GNU/Linux and MacOS X)
- PasZLib was replaced by original zlib 1.2.5(speed up to 1.5x)
- optimizaed loading of ini-files :)
- cam2d_Set now works like cam2d_Apply, but doesn't applied automatically when render target is set. cam2d_Apply was removed
- now ini_LoadFromFile and file_Open returns a result
- argument Directory was added to file_Exists for checking if directory exists
- now rtarget_Add is more "safe"
- behavior of rtarget_Set when use camera was changed, now camera works only for TARGET_SCREEN, for TARGET_TEXTURE it must be set manually
- changed declaration of ini_ReadKeyStr, key_GetText, file_GetName, file_GetExtension and file_GetDirectory
- file_Find now sorts the list
- now mouse_X/mouse_Y returns coordinates using global mouse position for all OS's
- added new functions: cam2d_Get and sengine2d_Get
- added argument SeparateAlpha to fx_SetBlendMode
- improved particles subsystem
- added loading of emitters from files
- added new constants for zgl_Get: ZGL_VERSION, ZGL_VERSION_STRING, ZGL_VERSION_DATE and MANAGER_EMITTER2D
- added header file of Chipmunk (http://code.google.com/p/chipmunk-physics/)

Links was updated here (http://www.pascalgamedevelopment.com/showthread.php?6404-Description). Now available archives with binaries for different OS's. I hope next release will be stable 0.2 with frozen API :) I will try to realize joystick support under MacOS X, provide particle editor and maybe start to write documentation in English :)

Sad moment - 64-bit windows binaries now won't work, but 32-bit works fine as always :)

farcodev
24-01-2011, 01:57 AM
that's a great work as usual ! :)

Kjow
01-02-2011, 02:10 PM
Hm, maybe later I will try to build toolchain for ARM under my ArchLinux and will try to compile ZenGL... but for now I'm too busy with ZenGL 0.2 RC6 :)

Hi Andru!
Is there any news about ARM support? :)

Then, have you planned something about implementing OpenGL ES on ZenGL (like did the team of Asphyre Sphinx)?

I need to start a 2D project and I would start it with ZenGL (I repeat, it is amazing :D), so if it would be OpenGL ES compatible for when I'll finish the project (less or more) I'll can compile it for win, linux, maemo/meego and ios :D
(OpenGL ES run on also on desktop ATI with latest drivers, I don't know about nvidia)

Let me know :)

Thank you very much!

Andru
01-02-2011, 03:45 PM
Oh, my fault, I forgot about ARM toolchain >_<


Is there any news about ARM support?
I have just build FPC for compilation ARM binaries, and compilation of ZenGL 0.2 RC6 was succeeded, but without support of jpeg, png and ogg(I need to build object files for ARM first). And without MaemoSDK(I'm installing it now) I can't finish linking stage. All operations were made with FreePascal 2.4.2 under ArchLinux x86_64. So, there are no big problems to build ZenGL for ARM architecture.


Then, have you planned something about implementing OpenGL ES on ZenGL (like did the team of Asphyre Sphinx)?
In March I will have a vacation for two weeks, so maybe I will try to do something. Or this would happen sooner, if I become bored by writing documentation and other stuff with high priority... :)

Kjow
01-02-2011, 04:10 PM
You are really great!
Thank you very much :)

I will stay tuned here :)

Andru
01-02-2011, 11:32 PM
I have installed MaemoSDK (http://img148.imageshack.us/img148/1594/45944382.png)... and it is huge - 2GB! >_< Also seems my Radeon HD 5850 with Catalyst 11.1 supports OpenGL ES using standard libGL.so(I got eglGetProcAdress from it and using this function I got all other OpenGL ES stuff). So, I will think about how will be better to add OpenGL ES implementation to ZenGL and than I will try to do some initialization stuff :) Rendering and so on I will add to TODO-list for ZenGL 0.3.x branch.

chronozphere
02-02-2011, 03:04 PM
The whole ZenGL engine looks really interesting and promising. ;)

I've just looked at the website and I actually didn't see a comprehensive "about" page. There was only a tiny page that summarized the core features/components of ZenGL. Might be something to add, perhaps? :)

Also, will ZenGL be opensourced eventually? (I didn't download it yet, but I have the impression that it's closed). And to what extend is 3D supported? I only saw a lot of 2D components/helpers.

Looking good so far. I will keep a close eye on this. :)

Andru
02-02-2011, 03:40 PM
a comprehensive "about" page
I think "tiny page" is good enough to understand what is ZenGL and what it can. I don't like "about page" with boring description like "ZenGL is the best library for creating your 2D applications ever. With it you can create your own games in such genres like... blablabla", or you meaning something else? :)


And to what extend is 3D supported?
There is only Set3DMode function. I'm not interested in 3D for now. Some very old versions of ZenGL were with simple 3D(models, keyframe and skeleton animation, volume shadows, heightmap, octree, simple shader functions and so on), but all this stuff were dropped.


Also, will ZenGL be opensourced eventually?
ZenGL is OpenSource project under LGPLv3 license.

chronozphere
02-02-2011, 04:15 PM
Well, the about page doesn't have to be a cheesy "We have made the perfect library" kind off page. You can just tell what kind of library it is, What it's goals are (Simplicity, Performance, 3D or 2D, Certain features or whatever), How long it has been around and what games are made with it (history). Also mention that it's opensource, because I missed that. :)

Good to know that it's opensource. I'll have a closer look at it soon.

Andru
02-02-2011, 04:41 PM
Maybe later I will write something like "main goals", but "true" developers looking for real functionality, not for phrases "simplicity, performance, etc." :)


Also mention that it's opensource, because I missed that.
I have started this project on googlecode(svn and downloads are still there), and that's why I forgot to write about OpenSource on official web-page... :)

Andru
06-02-2011, 07:27 PM
Small update to ZenGL 0.2 RC6
- [Linux]wnd_SetCaption now is more safely
- fixed problems with camera for different targets(TARGET_SCREEN and TARGET_TEXTURE)
- fixed problems with ini_ReadKeyStr, key_GetText, filet_GetName, file_GetExtension and file_GetDirectory(for ZenGL compiled as library)
- DIRECTORY_APPLICATION and DIRECTORY_HOME now returns PChar for Delphi 2010
- argument Directory was deleted from file_Exists
- text_Draw now won't crash if textures were not loaded
- fixed file_Find
- fixed crash when png cannot be loaded
- fixed loading of png when compiling 64-bit binaries for Windows(PasZLib is in use for this, still looking for correct solution)
- added new function file_Remove

Links was updated here (http://www.pascalgamedevelopment.com/showthread.php?6404-Description). Website is down now, so only googlecode mirror is working. Also I'm preparing update for LightEngine 2D(I think it would be available in 2-3 hours). For this update Vad has implemented soft shadows and made some optimizations :)

update: Sad, but LightEngine 2D will be updated later because of some problems with stability of new code :(

Traveler
06-02-2011, 09:50 PM
Thats good news!
I was wondering, though. The version number. How come it's 0.2? Does that mean a lot is still in the works? And in terms of a roadmap, what features can we expect to see in the coming updates?

Andru
06-02-2011, 10:27 PM
How come it's 0.2? Does that mean a lot is still in the works?
Not much, I want to release 0.2 with full documentation and additional tool :) So, Roadmap for now is something like this:
- documentation
- ZenParticles for editing emitter files for particle subsystem
- correct solution for Windows x64 problem
- getting resolution list for MacOS X(for now zgl_Get( RESOLUTION_LIST ) will return empty zglTResolutionList)
- joystick support under MacOS X(but this feature maybe will be moved to 0.3.x branch)

Maybe something else will appear and I will work on it :)

Andru
10-02-2011, 07:00 PM
ZenGL 0.2 RC6 Update 2
- [Linux]fixed file_Find(it was fully rewritten)
- [MacOS X]now list of screen resolutions can be gotten
- stages of OpenGL initialization have been refactored and fixed problem under Linux

Links as always are here (http://www.pascalgamedevelopment.com/showthread.php?6404-Description). I have already wrote some draft version of documentation(part of it), so maybe I will show it this weekend :)

Andru
23-02-2011, 01:32 AM
I have made new branches in svn for current stable version: 0.2.x (http://zengl.googlecode.com/svn/tags/0.2.x) and 0.2.x-d3d (http://zengl.googlecode.com/svn/tags/0.2.x-d3d).

changelog:
- [Direct3D]now correct matrices are used
- [Direct3D]implemented auto generation of mipmaps for Direct3D9
- fixed file_GetName, now it will return file name even if it without extension
- added new parameter SizeXYBind to parameters of particle
- pengine2d_Draw now returns BlendMode and ColorMode which were set before
- now rtarget_Add will check GL_MAX_RENDERBUFFER_SIZE before creating frame buffer
- added USE_TRIANGULATION to zgl_config.cfg
- added few SND_FORMAT_* constants for modular structure of sound decoders without depend on Sound API
- added GAPI_CAN_AUTOGEN_MIPMAP for zgl_Get

I'm going to release stable version 0.2 this weekend :) But seems documentation(and also tools) will be available separately.

Andru
27-02-2011, 08:32 PM
ZenGL 0.2 stable has been released :) So, now I will work on ZenParticles and documentation next week. Current two goals for roadmap of ZenGL 0.3.x are:
- OpenGL ES render
- multi-threaded resource loading

All links as always are here (http://www.pascalgamedevelopment.com/showthread.php?6404-Description). And one more - Matthieu GIROUX has written some unit which implements compatibility with Andorra2D and DelphiX classes TSprite and TSpriteEngine... In few days I will check it and maybe release it like extra-unit for ZenGL :)

Andru
16-03-2011, 10:06 PM
Projects page (http://zengl.org/projects.html) has been started :) There is only "Mystic Diary" trilogy, but soon I will add one more commercial game in another genre(action/2d shooter). Also I'm going to release ZenGL 0.2.1 with some changes and fixes(snd_LoadFromMemory, col2d_RectVsCircle and col2d_RectInCircle) and slight optimizations to Direct3D renderer.

Andru
18-03-2011, 09:16 PM
ZenGL 0.2.1

This is the first bugfix release in 0.2.x branch, which will be supported till next major stable release :) Also there was started wiki (http://zengl.org/wiki) and ZenGL(0.3.x branch in svn) now can work on Windows Mobile even with OpenGL ES 1.0(thanks to Vad for testing and help)! :)

Changelog:
- [Direct3D]slightly optimized render
- now ZenGL will check for GL_EXT_texture_filter_anisotropic for using anisotropic filtering
- fixed snd_LoadFromMemory
- now closing the application will reset all states and so on
- LOG_FILE can be gotten only before execution zgl_Init
- fixed col2d_RectVsCircle and col2d_RectInCircle
- fixed Unicode text input when application compiled by Delphi 2009+

download (http://zengl.org/download.html)

Andru
29-05-2011, 01:30 PM
ZenGL 0.2.2

New bugfix release of stable branch.

Changelog:
- [Linux]now DIRECTORY_HOME will return $XDG_CONFIG_HOME
- [Linux]updated libjpeg to version 8c and built for compatibility with older distributives
- [Windows]fixed autopause under Windows 7 for minimized window via dockbar
- [Direct3D]now scr_Flush works as in GL-version
- fixed loading some wav's
- fixed file_GetExtension for situation when Directory has dot in name
- tex_Del won't delete zeroTexture, which is returns as a result of tex_LoadFromFile/tex_LoadFromMemory if texture can't be loaded

Andru
05-09-2011, 07:32 PM
http://zengl.org/history/zengl_ios_screen05s.png (http://zengl.org/history/zengl_ios_screen05.png)
Just XCode 4.0 and ZenGL. Only Pascal, only hardcore! :)

Traveler
05-09-2011, 09:00 PM
AAwww, now you're just teasing us ;)

czar
05-09-2011, 09:10 PM
Just XCode 4.0 and ZenGL. Only Pascal, only hardcore! :)

Would you feel inclined to make a youtube tutorial? I have tried to get FPC working on my Macbook but it just became a too frustrating to do anything meaningful - e.g., using opengl or sdl - neither of which i have used in the past

Andru
05-09-2011, 09:38 PM
"Video tutorials" is not mine... and I don't like such tutorials, this is not for true programmers at all :) I will update my wiki this week with new scripts for building fpc(for iOS SDK 4.3) and new steps with screens. Templates used by me with XCode4 I have got from here (http://web.me.com/macpgmr/ObjP/Xcode4/). Very useful articles BTW :)

PS: now I have a bit free time, so I will try to prepare new public version of ZenGL. And iOS support have been tested not only by me, so... new release just waiting when I will beat my laziness :)

WILL
05-09-2011, 11:54 PM
I've also read that readme files isn't for real programmers either, but where are those programmers now? :P

I think Video Tutorials just take advantage of an extra medium. You get to see whats going on in the desktop that you couldn't see unless you were actually there. Anyone have a plane ticket to the Ukraine? :D

Seriously I don't see how it's bad, unless you have a horrible kackle. The Germans seem to pull off a perfectly good video explaining their own projects. Then again it is nice to see visual demos of what your project is doing. Darthman does a great job with this for example. It also gets more people interested in your project, and for that alone it should be worth it.

Just a few tips from a guy who has learned a few things over the past 10 years. ;)

Andru
18-10-2011, 01:01 PM
First iOS game(which is uses ZenGL) finally released (http://itunes.apple.com/en/app/mystic-diary-lost-brother-hd/id445763434) :)

Daikrys
20-10-2011, 11:00 AM
great news Andru :)

do you done the coding part?

Andru
20-10-2011, 01:39 PM
do you done the coding part?
Whole game was written not by me, I made only a port to iOS. But this port included changes to gameplay(user interaction with objects), lots of optimization for low memory usage and so on.

WILL
21-10-2011, 05:26 AM
Very cool Andru. I like seeing all these OP-based commercial games. Esp. For the iOS systems. This should have its own news article btw. Why don't you write it up and when I get the next chance i'll publish it. :)

Andru
22-10-2011, 02:10 PM
WILL
I just don't like to write descriptions for games... :) But ok, I will try to write something.

Andru
29-10-2011, 09:04 AM
ZenGL 0.2.3

One more bugfix release before releasing 0.3-dev branch :)

Changelog:
- [MacOS X]fixed start in fullscreen mode(dockbar didn't hide)
- fixed Y-offset in tex_Draw for new lines
- fixed memory leak in ogg loading function
- proper values for mouse_DX/mouse_DY when CORRCT_RESOLUTION is used
- fixed particles creation for EMITTER_TYPE_LINE
- added EMITTER_TYPE_RING
- fixed EMITTER_TYPE_CIRCLE
- now zgl_Get( RESOLUTION_LIST ) works before zgl_Init

download (http://zengl.org/download.html)

Andru
25-02-2012, 07:17 PM
ZenGL 0.2.6

New stable version is out!

Changelog:
- [Windows]removed passing Enter to text after key_BeginReadText
- [Windows]fixed problem with Delphi 2009+
- fixed problem with text rendering when there is no available first symbol in texture

download (http://zengl.org/download.html)

One more interesting thing - ZenGL 0.3 got support of decoding theora video(in ogv container). You can see this in demo here (http://zengl.org/history/zengl_theora_demo.7z)(compiled for Windows).

AirPas
26-02-2012, 08:40 AM
good for supporting theora video dec , is it possible to read theora video from memory stream ?

Andru
26-02-2012, 10:29 AM
is it possible to read theora video from memory stream ?
Yes. For any resource there are always file-reading and memory-reading functions in ZenGL. For video it is video_OpenFile and video_OpenMemory. Currently I have no ideas which video to use for standard demo, so... as soon as I got something interesting, I will add demo to svn :)

Andru
02-03-2012, 09:25 PM
One more iOS game based on ZenGL has been released (http://itunes.apple.com/us/app/mystic-diary-haunted-island/id472374258)! :)

http://zengl.org/projects/md2_screen01s.png (http://zengl.org/projects/md2_screen01.png) http://zengl.org/projects/md2_screen02s.png (http://zengl.org/projects/md2_screen02.png)

wagenheimer
03-03-2012, 01:23 AM
Congratulations for the Release!

If everything goes right, Dreams of a Geisha will be the next one! =)

WILL
04-03-2012, 10:06 AM
More the merrier! :)

I'd like to see more than just Hidden Object games on the iPad from ZenGL however. So far the only non-hidden object game I've seen and can recall is Sushi Quest. Dreams of a Geisha would be the third genre from Pascal land put onto the iPad/iPhone. Any other ideas that could be done using ZenGL?

Andru
04-03-2012, 10:10 AM
Any other ideas that could be done using ZenGL?
ZenGL doesn't limit programmers in genres, so it can be anything :)

WILL
04-03-2012, 11:25 AM
Well true, though hidden object games don't really show off the game library's capabilities. Something like a platformer or another kind of action-based game would do better to prove it's effectiveness to make exciting games with it.

Have there been any successful attempts at this level of game performance on real hardware using ZenGL? I'm sure it's possible, but with only point and click games to guage it's performance... why not create a freeware game to promote such use?

...especially if you are selling licences for iOS and Android developers.

Andru
04-03-2012, 12:48 PM
This doesn't depend on me, so :) As for performance moment it doesn't depend on genre of a game, it depends on fillrate, count of different objects on scene and many other details. And Hidden Object games or Match-3(as Dreams of a Geisha) are pretty dynamic sometimes, with a lot of objects and particles on screen. ZenGL is quite fast, but even with it you can always create some poor performance code, there is no magic solution for avoiding this :)

But main answer for "why there is no commercial platformers based on ZenGL" will be - such genre is not popular nowadays for commercial purpose(as a casual game). And considering that Pascal is not so popular and ZenGL popularity is much lower... I think you can make some conclusions :)

Andru
04-03-2012, 01:01 PM
Oh, and one thing about action-games. There is one project here (http://www.sigma-team.ru/content/view/39/51/)(this version is unstable and based on old version of ZenGL).

http://zengl.org/projects/asta_screen02s.png (http://zengl.org/projects/asta_screen02.png)

But unfortunately speed of development was decreased a lot because of lack of time(main developer is busy with something else, far from game development), as I know.

WILL
04-03-2012, 08:36 PM
But main answer for "why there is no commercial platformers based on ZenGL" will be - such genre is not popular nowadays for commercial purpose(as a casual game). And considering that Pascal is not so popular and ZenGL popularity is much lower... I think you can make some conclusions :)

Hmm... I dunno there are some platformers on iOS that seem to follow in that flavour of casual gaming the way it's interface works. League of Evil 1 (http://itunes.apple.com/ca/app/league-of-evil/id405552598?mt=8) & 2 (http://itunes.apple.com/ca/app/league-of-evil-2/id493832593?mt=8) for example are quite popular and you can take or leave them when and where you want. Levels aren't too big either so it's more of a casual game than a hardcore platformer like how they used to be on the consoles.

However yes, you cannot control who makes what with your game library. It sould be a huge boost though if someone did take full advantage of ZenGL's capabilities and made something exciting with it for mobile hardware. Even Windows or Mac as well too.



http://zengl.org/projects/asta_screen02s.png (http://zengl.org/projects/asta_screen02.png)

That screenshot reminds me of Project Moon 2 from the 2006 PGD Annual competition (http://www.pascalgamer.com/pgdannual/The_Big_Boss.html). :)

wagenheimer
26-03-2012, 11:35 AM
Dreams of a Geisha was released for iPhone and iPad! =)

iPhone : http://itunes.apple.com/us/app/dreams-of-a-geisha/id460180656?mt=8

http://a4.mzstatic.com/us/r1000/105/Purple/6a/45/14/mzl.ezaudmkj.320x480-75.jpg

iPad : http://itunes.apple.com/us/app/dreams-of-a-geisha-hd/id459801505?mt=8

http://a1.mzstatic.com/us/r1000/065/Purple/4c/b9/e9/mzl.tnrxzpib.480x480-75.jpg

Daikrys
26-03-2012, 12:18 PM
congrats Cezar hope it goes well :)

WILL
26-03-2012, 10:46 PM
Very excellent! Create a News Post (CMS article while on the very front page / Home section) and I'll have it published as news! :D

wagenheimer
28-03-2012, 01:44 AM
Hi Will! I created the News Post but How do I publish it? It appears to me like "Not Published" but I don't see any Publish button!

WILL
28-03-2012, 04:10 AM
Hi Cezar, I sent you a PM about your news post. I have to sit down a tweak it a bit, but otherwise I can publish it tomorrow. Sorry for the delay, I'm busy this week. :) Thanks for creating the news post!

Andru
28-04-2012, 05:57 PM
ZenGL 0.2.7 has been released.

Changelog:
- [Direct3D]fixed problem with Aero theme of window after switching from fullscreen mode
- [Windows]fixed screen blink on exit
- [Windows]added handling of swapped mouse buttons for mouse_Down

download (http://zengl.org/download.html)

AirPas
28-04-2012, 09:02 PM
- [Windows]fixed screen blink on exit
this was annoying due to ChangeDisplaySettings execute when exit from window mode

WILL
28-04-2012, 10:19 PM
ZenGL 0.2.7 has been released.

Snuck that in just after my News Round-up (http://www.pascalgamedevelopment.com/content.php?330-PGD-News-Round-up-for-March-April-2012) huh? ;)

Andru
29-04-2012, 11:25 AM
I have noticed that round-up just after the release... :) But this is a minor release, so nothing special. First public version of 0.3.x branch - ZenGL 0.3 beta 1, is still on the way(I'm preparing demos for iOS and Android) and I hope to release it in few days.

Andru
01-05-2012, 02:23 PM
ZenGL finally reached new milestone and got public! :) Main new features are iOS and Android support, support of zip-archives, multithreaded resource loading, video decoding subsystem and bindings for C/C++. All demos were rewritten a bit and added demos for iOS and Android. Also wiki (http://zengl.org/wiki) was updated and now there can be found information about FreePascal and iOS/Android.

Changelog:
- implemented OpenGL ES render
- added support for iOS
- added support for Windows Mobile 5-6(and dropped some time ago :))
- added support for Android 2.1+
- implemented multithreaded resource loading
- added registration of input events
- added procedure cam2d_Init and new parameter Center to structure zglTCamera2D
- added FX2D_RPIVOT and fx2d_SetRotatingPivot
- added SYS_CLOSE_QUERY
- added key_UpdateReadText
- added snd_PlayMemory for playing audiofile in memory
- added TEXT_CLIP_RECT for clipping text which is out of the set area in text_DrawInRect
- implemented support for compressed textures
- now tex_Create returns Boolean
- added constant RENDER_VRAM_USED for zgl_Get
- added support for PVR
- optimization of tex_SetMask
- added support for zip-archives
- added constants SND_STATE_LOOPED and SND_ALL_LOOPED for using with snd_Get and snd_Stop
- snd_PauseFile, snd_StopFile and snd_ResumeFile renamed to snd_PauseStream, snd_StopStream and snd_ResumeStream
- added more defines for build customization
- added parameter ConsiderCamera for scissor_Begin
- using UTF8String everywhere
- removed texture atlases
- implemented architecture for decoding video into textures
- added support of video encoded with theora codec
- added parameter Volume for snd_Play, snd_PlayFile and snd_PlayMemory
- added constant SND_VOLUME_DEFAULT
- added function snd_SeekStream
- changed logic for snd_SetVolume, snd_SetPos, snd_SetSpeed and snd_Get functions when using SND_STREAM
- mem_LoadFromFile and mem_SaveToFile returns Boolean

download (http://zengl.org/download.html)

AirPas
01-05-2012, 05:22 PM
this is so good , i've compiled all the demos but i don't know , seems too slow than previous versions ( demos take too much time at lunching )

demo06 takes 6 seconds !

Andru
01-05-2012, 06:36 PM
demo06 takes 6 seconds !
Very strange, I don't have such results even on my LG Optimus One with 600Mhz and didn't get any complains from other users. Try to run compiled demos without debugger and so on(do you use Delphi?), and check if there no activity from some antivirus or whatever else can eat system resources on Windows :)

AirPas
01-05-2012, 09:14 PM
its ok , it was my pc at work , and as you guess its because the anti-virus , now every thing run smoothly on my laptop

Andru
06-05-2012, 09:33 PM
ZenGL 0.3 beta 2 has been released with some important fixes.

- [iOS]fixed crash on memory warnings
- [Android]fixed crash on releasing few fingers
- [Android]fixed work with emulator and possible crashes on real devices
- [Android]all demos now use ARMv6 and VFPv2 for better performance
- fixed loading emitter2d_LoadFromFile
- extended ZEF_CHUNK_TEXTURE, now emitter file info will contain frame coordinates of texture
- fixed incorrect behaviour of particles in some cases
- implemented loop for video
- implemented getting of video duration
- added parameter Frames to zglTVideoStream

Andru
12-05-2012, 03:55 PM
ZenGL 0.3 beta 3

- [Android]fixed Back button press
- fixed file_Find for zip archives
- implemented video_Seek
- Time and Info.Duration of zglTVideoStream now contain values as milliseconds
- some fixes in build for C/C++, and added two new demos

download (http://zengl.org/download.html)

AirPas
13-05-2012, 09:22 AM
good work

added two new demos
i can't find them

Andru
13-05-2012, 10:23 AM
i can't find them
That was for C/C++("12 - Render into Texture" and "14 - Sound") :)

Andru
29-05-2012, 05:49 PM
ZenGL 0.2.9 has been released, and this is the last one release of 0.2.x branch, no more fixes in future for this branch.

- [Direct3D]fixed disappearing of window caption
- [Windows]fixed handling WM_DISPLAYCHANGE

download (http://zengl.org/download.html)

Andru
31-05-2012, 08:38 PM
ZenGL 0.3 beta 4, the last one beta before release, I hope :)

- [GNU/Linux]implemented handling of event RRScreenChangeNotify for determinating resolution change
- [Android]added zglNativeInit, now zgl_Get( DIRECTORY_HOME/DIRECTORY_APPLICATION ) will work from Main function
- [Android]fixed tex_GetData
- [Direct3D]fixed disappearing of window caption
- [Direct3D]implemented support of Direct3D9Ex
- [OpenGL ES]fixed tex_SetMask for NPOT textures and tex_SetData when Stride is not equal to zero
- fixed zglModPlug and added Android support
- one more fix for file_Find and zip-archives
- fixed logging when zip-archive is opened
- correct deinitialization of resources queue on exit

download (http://zengl.org/download.html)

Andru
11-06-2012, 08:49 PM
ZenGL 0.3 Release Candidate has been released. Next version will be stable release :)

- [Direct3D]fixed tex_SetData and tex_GetData for Direct3D9 Ex mode
- [GNU/Linux]added workaround for a crash in zgl_InitToHandle on NVIDIA drivers
- u_GetUTF8ID now available from dynamic library
- changed logic of pengine2d_AddEmitter

download (http://zengl.org/download.html)

paul_nicholls
11-06-2012, 10:56 PM
Nice work Andru! :)

Andru
22-07-2012, 08:49 PM
ZenGL 0.3.0 has been released.

- [Android]added libraries compiled for armv6
- [Android]added libtheoradec.so with libogg.so and libvorbis.so for decoding theora video
- [Android]fixed exiting after back button press
- [iOS]added libtheoradec for decoding theora video
- optimized YUV to RGBA conversion for theora video decoding
- emitters now can use the same textures without loading them every time
- changed tex_Create
- fixed clipping in some cases with camera
- CLIP_INVISIBLE now has influence on emitters

download (http://zengl.org/download.html)

Latest fixes for 0.3.x branch now will be available here:
http://zengl.googlecode.com/svn/branches/0.3.x
http://zengl.googlecode.com/svn/branches/0.3.x-d3d

Further development of ZenGL will be stopped for awhile(few month?), only bugfixes and support will be available.

AirPas
23-07-2012, 09:20 AM
really good work , i compiled some of the demos and they work fine , just a note : the demo10 (Tiles) has a big exe size ( 675kb) , i compile it with delphi and the size reduce to ~150kb

Andru
23-07-2012, 10:14 AM
the demo10 (Tiles) has a big exe size ( 675kb) , i compile it with delphi and the size reduce to ~150kb
That is because there is zgl_textures_jpg included(I forgot to remove it) and compilation with FreePascal uses static linking with libjpeg, which is much faster than any other solution. But this can be disabled any time in zgl_config.cfg if you need.

Andru
26-08-2012, 07:50 PM
First bugfix release - ZenGL 0.3.1.

Changelog:
- [Windows, OpenGL]fixed problem with Ctrl+Alt+Delete and message "Cannot set fullscreen mode"
- [GNU/Linux]removed dependency on newer GLIBC 2.14 when compile ZenGL with zip/jpeg/ogg support on newer systems with GLIBC 2.14+
- [iOS]fixed resolution problem with iPhone applications running on iPad
- fixed crash when cannot load some resources using res_* functions

download (http://zengl.org/download.html)

Andru
02-09-2012, 07:14 PM
Time for new improvements and bugfixes - ZenGL 0.3.2 :)

Changelog:
- [Android] fixed keyboard hiding on Android 3.0+
- [Android] fixed input of numbers
- [Android] fixed multi-touch
- [Direct3D] implemented tex_SetData for render targets
- [Direct3D] fixed crash of tex_GetData with Direct3D9 Ex mode
- fixed looping of sound stream
- fixed sound pause/resume when APP_USE_AUTOPAUSE is in use
- optimized loading of ogg sound files

download (http://zengl.org/download.html)

Andru
09-09-2012, 11:37 AM
ZenGL 0.3.3

Changelog:
- [Windows] fixed TOPMOST window style in windowed mode
- fixed broken ogg decoding in 0.3.2
- mem_Free now will assign nil to Memory
- rewritten and fixed a lot of col2d_* functions
- removed parameter ColPoint from col2d_LineVsRect
- removed col2d_LineVsCircleXY

download (http://zengl.org/download.html)

Andru
25-09-2012, 08:50 AM
ZenGL 0.3.4

Changelog:
- [Android]added tex_Restore*, font_RestoreFromFile, rtarget_Restore, emitter2d_RestoreAll and video_Restore functions
- [Android]implemented restoring of resources for all demos
- [iOS]fixed problem with orientation on iOS 6 when compile with iOS SDK 6.0
- added C/C++ export for some file_* functions
- added more demos for C/C++

download (http://zengl.org/download.html)

Andru
29-09-2012, 06:52 PM
ZenGL 0.3.5

Changelog:
- commercial license no more available and main license changed to zlib license
- [MacOS X]fixed problem with fullscreen

download (http://zengl.org/download.html)

Andru
06-10-2012, 01:20 PM
Wrapper for Magic Particles (http://astralax.com) has been resurrected :) New version based on Magic Particles 2.18 and as any other addition it can be grabbed from extra-page (http://zengl.org/extra.html).

http://zengl.org/extra/magiczen/screen01s.jpg (http://zengl.org/extra/magiczen/screen01.jpg)

Andru
23-12-2012, 01:05 AM
Special release ZenGL 0.3.6: End of the World which has late a bit because of problem with compilation some object files for different platforms :)

Changelog:
- [Android]fixed incorrect work of input subsystem(added critical sections)
- [Android]implemented scr_Flush for Android 2.3 and higher
- [Windows]fixed incorrect result of mouse_Wheel when compile with Delphi XE
- [Delphi]improved speed of theora video decoding
- videos with NPOT frame size now will be without lines on borders in some cases
- implemented support for colorspaces 4:2:2 and 4:4:4 of theora video

download (http://zengl.org/download.html)

WILL
23-12-2012, 10:07 AM
Too late the world apparently ended! :o

Very nice work! Hey any plans for OUYA support for ZenGL? ...your awesome library supports just about everything else but as it is. ;)

And where does support with Oxygene for Java sit, if I may ask?

Andru
28-12-2012, 12:12 PM
Hey any plans for OUYA support for ZenGL?
Maybe someday I will take a look on it, but this is just an a bit modified Android, so I don't see any problem to run there ZenGL. Support for any special buttons I think can be easily done via improving ZenGL.java :)


And where does support with Oxygene for Java sit, if I may ask?
Unfortunately this is too heavy(because ZenGL is native compiled library) and not interesting, so I won't provide any wrappers for Oxygene.

Andru
27-01-2013, 09:13 PM
ZenGL 0.3.7

Changelog:
- [Win32]fixed range check error in wnd_Update
- [iOS]fixed resolution for iPhone application running on iPad with retina
- [Android]fixed exiting from application
- [Direct3D9]enabled PR2D_SMOOTH
- [Direct3D]fixed crash when using scr_CorrectResolution before zgl_Init
- fixed hanging snd_StopStream in some cases when DirectSound is in use
- fixed pengine2d_DelEmitter

download (http://zengl.org/download.html)

Andru
13-02-2013, 06:34 PM
ZenGL 0.3.8

Changelog:
- [iOS]fixed bug with button Hide on virtual keyboard and iOS 6
- [Direct3D9]disabled Direct3D9Ex by default because of slow tex_GetData on AMD and Intel videocards

download (http://zengl.org/download.html)

paul_nicholls
17-02-2013, 11:27 PM
Nice work as always dude :)

Andru
31-03-2013, 11:23 AM
ZenGL 0.3.9

Changelog:
- [Android]fixed problem with 30fps rendering on Nexus and probably other Tegra-based devices
- [Android]added libGLU.so, now triangulation should work
- fixed pengine2d_DelEmitter(removing last emitter)
- fixed col2d_PointInTriangle(random result in some cases)
- fixed joy_Init(amount of joysticks never decreases)
- fixed SND_INFO_DURATION for sounds(always returned 0)

download (http://zengl.org/download.html)

Rodrigo Robles
31-03-2013, 02:34 PM
Great work man! The ability of ZenGL to run in several platforms is a killer feature nowadays!

phibermon
31-03-2013, 03:18 PM
Keep up the good work! it's fantastic that you've got IOS and Android supported to a usable level but I don't understand why you bothered to support Direct3D, that's a whole lot of work for nothing. PC's you'd just use GL anyway and microsoft are never going to allow a game on any xbox that wasn't written using their API.

Do you support GL 3.2+ across windows, OSX and Linux? if so on OSX, have you had any problems with uniform buffers? They're utterly broken for me, struggled for ages to try and get them working. I'm on a hackintosh so I don't know if it's due to that (even thou my Nvidia card is one that ships with some macs) or if it's just OSX in general. I've found a few references in forums to people having similar issues, but again they might also be on hackintoshes, they don't say, so I can't find a common denominator.

Andru
01-04-2013, 05:24 AM
but I don't understand why you bothered to support Direct3D
Because commercial projects on Windows should use it, if you want to avoid a lot of problems with crappy drivers and stupid users without vendor drivers at all(sometimes they have only standard drivers provided by Windows) :)


Do you support GL 3.2+ across windows, OSX and Linux?
ZenGL is 2D oriented, so I don't use so progressive API.

phibermon
01-04-2013, 10:37 PM
Ahh yes very good point, there's many older devices+drivers that only support Direct3D properly, S3 chips for example.

But the same is now true if you don't use GL 3.2, it's actually the case that GL1 and GL2 legacy functions are increasingly being implemented in the drivers to use the DX11/GL4.x programming pipelines. As a result there's many instances where GL1/2 support is becoming unstable and even some legacy functionality (such as display lists) is not supported directly in hardware. The fixed pipelines in cards have long since gone and are emulated at the driver level. Nvidia tend to be really good with not breaking old things, ATI tend to break somthing in every driver release.

Intels latest line of chips are a good example, dramatically slower smooth line/point rasterization and will switch to software if you try to use line stippling (at least in my tests of 1 1/2 years ago). Any depreciated functionality could potentially suffer the same fate.

Remember they're focusing on game support and games that use GL1.x and GL2.x tend to be a lot less demanding on the card and thus they don't really care about optimizing that much.

So it's not a case of only switching if you need the new functionality, you should concider supporting just for performance/stability concerns with the same justification you rightly use for Direct3D.

User137
02-04-2013, 08:49 PM
I was going through source code a little.. Is ZenGL fully based on rendering with glBegin() etc "client" calls?

Andru
02-04-2013, 09:23 PM
Is ZenGL fully based on rendering with glBegin() etc "client" calls?
For 2D glBegin/glEnd is faster than glDrawArrays, because of no need in actions with memory for preparing buffer.

Andru
07-04-2013, 07:38 PM
ZenGL 0.3.10

Changelog:
- [Direct3D9]now scissor_* functions use SetScissorRect and D3DRS_SCISSORTESTENABLE
- [Direct3D]fixed saving texture data when pass texture to rtarget_Add
- fixed some problems with scissor_* functions when using render targets
- fixed some range check errors in zgl_particles_2d unit
- fixed "memory leaks" in zgl_resources unit(problem with heaptrc)
- fixed range check errors zglChipmunk unit(replaced "array of" with correct alternative)
- now SND_STATE_TIME and SND_STATE_PERCENT can be used with snd_Get for sounds

download (http://zengl.org/download.html)

Rodrigo Robles
09-04-2013, 01:49 AM
ZenGL 0.3.10

Changelog:
- [Direct3D9]now scissor_* functions use SetScissorRect and D3DRS_SCISSORTESTENABLE
- [Direct3D]fixed saving texture data when pass texture to rtarget_Add
- fixed some problems with scissor_* functions when using render targets
- fixed some range check errors in zgl_particles_2d unit
- fixed "memory leaks" in zgl_resources unit(problem with heaptrc)
- fixed range check errors zglChipmunk unit(replaced "array of" with correct alternative)
- now SND_STATE_TIME and SND_STATE_PERCENT can be used with snd_Get for sounds

download (http://zengl.org/download.html)

Nice work. This is the way: continuous development and frequent releases.

Andru
12-05-2013, 12:56 PM
ZenGL 0.3.11

Changelog:
- fixed stack problem when loading some png-files with indexed color format with alpha
- fixed crash of snd_Free after few calls with active sound streams
- fixed pengine2d_AddEmitter, now it check Assigned( Emitter ) before adding emitter
- fixed wnd_SetSize, now it should change oglTargetW/oglTargetH for correct work of some features(e.g. scissor)
- no more official packages for C/C++ support
- no more official tar.bz2 packages

download (http://zengl.org/download.html)

PS: Next release will be the last one for 0.3.x branch and I will stop development of ZenGL(at least using it current code base). Future of project now is absolutely uncertain. Thanks everybody for few years of fun :)

Rodrigo Robles
12-05-2013, 03:13 PM
ZenGL 0.3.11
PS: Next release will be the last one for 0.3.x branch and I will stop development of ZenGL(at least using it current code base). Future of project now is absolutely uncertain. Thanks everybody for few years of fun :)

Serious? ZenGL is the best multiplatform engine for Object Pascal. We can try to gather more developers to the project if you like some help...

Daikrys
12-05-2013, 06:28 PM
nah Andru is more like he do what hes interested in until he get bored, or im i wrong? :)

ZenGL is indeed really neat and powerful, on android i get far better framerates then with pure java code
but "every legend come to an end" or something like that

will be interesting when/if you continue ZenGL and also what your next project is about
anyway thanks for the great development of ZenGL, Andru :)

Andru
13-05-2013, 06:20 PM
Answered here (http://zengl.org/forum/index.php/topic,12.msg2905.html#msg2905) on official forum.

Andru
12-08-2013, 06:49 PM
As were mentioned above, here is the last release of ZenGL 0.3.x

ZenGL 0.3.12

Changelog:
- [Windows]fixed choosing icon for title bar
- [Windows]fixed handling WM_MOUSEWHEEL
- [Android]added workaround for FBO on Tegra-based devices and probably other devices where GL_MAX_RENDERBUFFER_SIZE is always 0
- fixed saving volume value for snd_PlayFile/snd_PlayMemory functions
- fixed incorrect determination of size of animated sprite in sprite engines(procedural and based on classes)
- fixed pengine2d_ClearAll
- added option USE_ZLIB_FULL
- removed touch_DblTap
- removed any WinCE support

download (http://zengl.org/download.html)

PS: I leave Pascal community till better times.

WILL
12-08-2013, 07:36 PM
Well I'm sorry to hear you are leaving the community. (until later even)

Perhaps a switch to making games instead of tools? You may find the change of perspective refreshing. There is another PGD Challenge happening on the 15th. Would you be interested in taking part?

WILL
14-08-2013, 09:16 PM
You saw swearing in my post, but you dont see it in his last post?

I'm sorry where is this swearing?

If it was bad enough and I had noticed it then he would also have felt the effects of behaving badly on the forums.

If I may make a suggestion; You got scolded for behaving badly and swearing on the forums. Learn from it and move on. I don't organize my day to ruin yours. Statements like the one you just made only serve to make you look immature. And that is the same for everyone.

Andru
15-08-2013, 05:49 AM
Don't know what happened here, but edited a bit my last post. Don't think it was too bad, but anyway rules are rules. Just missed this because of copy-pasting my changelog.


Perhaps a switch to making games instead of tools? You may find the change of perspective refreshing. There is another PGD Challenge happening on the 15th. Would you be interested in taking part?
I saw new "PGD Challenge", but my enthusiasm is belove zero, anyway hope this challenge will gather a lot of pascal developers.

hwnd
Now I'm curious what was in your post )

Seenkao
31-01-2024, 09:20 AM
Всем привет!
На данный момент я главный разработчик ZenGL, по не гласному соглашению с Andru.

Скачать можно на SourceForge (https://sourceforge.net/projects/new-zengl/), текущая версия 0.4.7. Там же находятся последние версии начиная с 0.4.2, до этого выкладывал версии на GitHub (https://github.com/Seenkao/New-ZenGL).

На данный момент не поддерживается iOS и не полностью поддерживается MacOS. Для MacOS не скомпилированы библиотеки под ARM-архитектуру, если у вас Mac M1 или M2 вы можете сами собрать для себя необходимые библиотеки. Для x86_64 архитектуры библиотеки собраны.

По сравнению с прошлыми версиями ZenGL были произведены достаточно не малые изменения:
1. восстановлена возможность сборки под Android используя Android Studio.
2. добавлена полная поддержка OpenGL/OpenGL ES.
3. добавлена библиотека Green Engine (GE), основанная и работающая используя ZenGL, это:
3.1. поле ввода.
3.2. работа с цветом.
3.3. работа с меню (тестовое состояние).
4. добавлены демки для тестирования полного OpenGL/OpenGL ES.

Многие изменения можно узнать на сайте FreePascal (https://forum.lazarus.freepascal.org/index.php/topic,49143.0.html).

Сборка динамических библиотек, на данный момент, отключена из-за множества изменений (честно говоря я об этом изначально и не задумывался), восстановление данной возможности в процессе.

Ведётся документация, но в основном внутри самой библиотеки и в сопутствующих демках. Так же заполняю потихоньку документацию на вики (https://sourceforge.net/p/new-zengl/wiki/Home/).

Изменений было много. Список изменений в файле Update_ZenGL.txt, извиняюсь, но только на Русском языке.

--------------------------------------------------------------------------------------------
Google translate:
Hi all!
At the moment I am the main developer of ZenGL, under an unspoken agreement with Andru.


You can download it from SourceForge (https://sourceforge.net/projects/new-zengl/), current version is 0.4.7. The latest versions starting from 0.4.2 are also there, before that I posted versions on GitHub (https://github.com/Seenkao/New-ZenGL).


Currently not supported by iOS and not fully supported by MacOS. For MacOS, libraries are not compiled for the ARM architecture; if you have a Mac M1 or M2, you can compile the necessary libraries for yourself. Libraries have been compiled for x86_64 architecture.


Compared to previous versions of ZenGL, quite a few changes have been made:
1. The ability to build for Android using Android Studio has been restored.
2. added full support for OpenGL/OpenGL ES.
3. Added the Green Engine (GE) library, based and working using ZenGL, this is:
3.1. entry field.
3.2. working with color.
3.3. working with the menu (test state).
4. added demos for testing full OpenGL/OpenGL ES.


Many changes can be found on the FreePascal (https://forum.lazarus.freepascal.org/index.php/topic,49143.0.html) website.


Building dynamic libraries is currently disabled due to many changes (to be honest, I didnÂ’t even think about it at first), restoring this feature is in the process.


Documentation is being maintained, but mainly within the library itself and in accompanying demos. IÂ’m also slowly filling out the documentation on the wiki.


There have been many changes. The list of changes is in the file Update_ZenGL.txt, sorry, but only in Russian.

;)



Хотел создать новую тему... но Andru тут видимо уже не объявится.

I wanted to create a new topic... but Andru apparently won’t show up here anymore.

Jonax
31-01-2024, 10:22 AM
I have no idea what ZenGL is but it's nice to see some activity in the field of Pascal. Thanks for your efforts.

Seenkao
03-02-2024, 05:34 PM
Не за что. Главное чтоб полезно было людям.

В соседнем топике (https://www.pascalgamedevelopment.com/showthread.php?6404-Description) основная часть расписана, была давно.


Google translate:
My pleasure. The main thing is that it is useful to people.


In the next topic (https://www.pascalgamedevelopment.com/showthread.php?6404-Description) the main part is described, it was a long time ago.

Seenkao
10-10-2024, 06:24 PM
Hi all! ;)


A new version of ZenGL 0.4.12 (https://sourceforge.net/projects/new-zengl/) has been released.


Major changes:
- now ViewPort works for the entire created window. When adjusting the image, it is adjusted by means of OpenGL.
- the problem of working with two or more monitors in Linux has been fixed.
- demos for FreePascal and Lazarus have been combined into one folder.
- the 7th and 12th demos have been reworked. Now they contain additional functionality of ZenGL.
- full screen detection functionality (java code) has been added to Android projects. This is more necessary for later versions of Android.
- video bug in Android has been fixed (when trying to restore the application).
- Android projects have been divided into Windows and Unix (win and unix - respectively). Quick build files for Windows have been added - "build_android.bat".
- work with sprites and certain primitives now occurs from a specified rectangle (zglPRect2D / zglTRecr2D).


and many changes as a result of the listed changes and code adjustments. All changes are in the Update_ZenGL.txt file.


This version is not tested only on MacOS. Well, there was a lot to edit, although the changes are just a little more than a drop. )))


Be more careful with sprites and primitives now! This change forces more initialization, but reduces the work itself with sprites and primitives in the code (less data needs to be transferred). And transfer data correctly! Somewhere you need to pass a pointer, and somewhere the data itself.


But you can brag. The virtual keyboard worked with minimal edits. This is what ready-made working code means. ))) It's a pity that you still have to shovel it almost completely.


Later I will post an example of how to build projects for Android and how to create your own projects for Android in the simplest way at the moment. I tried to describe a lot in the accompanying files ReadMe.txt.
Over time, I'll finish everything as it should be and add normal project creation, where you won't have to suffer with minor problems, but it won't be anytime soon. :(
----------------------------------

I recorded a video (https://youtu.be/vKt2BF23iuE) where I go through assembling projects for Android, how to create your own project for Android (at the moment) and how to solve an error when opening a project.
The information in the video is technical, so it will suit most viewers. I hope the translator will translate the information I provide well.
----------------------------------

How to create your own project for Windows/Linux/MacOS.

You can watch video (https://youtu.be/301PtVgD2oo), where I create the game "Snake".


But I will also describe the whole process in more detail.
1. Create a folder next to the ZenGL folder.
2. In the created folder, create your simple project (not LCL).
3. You can copy the code from any of the demos (except for the first line, where the name of your program goes).
4. You need to specify the paths for the project.
4.1. To do this, press Ctrl + Shift + F11 (you can open it in the main window "Project -> Project Parameters...").
4.2. Select "Paths".
4.3. In the "Other modules (-Fu):" item, write:

../ZenGL/extra;../ZenGL/src;../ZenGL/srcGL;../ZenGL/srcGE;../ZenGL/srcGL/EGL;../ZenGL/srcGL/GLES/;../ZenGL/lib/jpeg/$(TargetCPU)-$(TargetOS);../ZenGL/lib/msvcrt/$(TargetCPU);../ZenGL/lib/ogg/$(TargetCPU)-$(TargetOS);../ZenGL/lib/theora/$(TargetCPU)-$(TargetOS);../ZenGL/lib/zlib/$(TargetCPU)-$(TargetOS);../ZenGL/lib/zip/$(TargetCPU)-$(TargetOS)
4.4. B in the "Include files (-Fi):" section, write:

$(ProjOutDir);../ZenGL/headers;../ZenGL/srcGE;../ZenGL/src;../ZenGL/srcGL;../ZenGL/srcGL/EGL;../ZenGL/srcGL/GLES/
5. In the project settings, click on "Analysis" and in "Syntax mode (-M, {$MODE})" select "Delphi (-Mdelphi)" (usually there is "Object Pascal - default (-MobjFPC)").
----------------------------------


Also, instead of all these actions, you can create your own folder in ZenGL/demos/FPC-Lazarus, copy files from any demo example there (if you want to use ZenGL functionality, then demos from 1 to 16, or 18 for LCL) and use the "created project" for your needs (you can simply use any demo like that).
----------------------------------

Good luck with programming! 8)

SilverWarior
11-10-2024, 01:14 PM
It is nice to see ZenGL is still in development.

paul_nicholls
11-10-2024, 02:38 PM
I'm glad your project is still going! :)

Jonax
12-10-2024, 11:10 AM
I've never tried the Zen project but is glad to see there is pascal activity out there. Keep up the good work

Seenkao
28-10-2024, 01:27 AM
Thank you all for your support! ;)

The next updates for ZenGL (https://sourceforge.net/projects/new-zengl/), this is already version 4.13.


Major changes:
- for Windows, if your desktop is scaled, then when creating an application, the scaling will be taken into account.
- fixed bugs for FPC 3.3.1.
- added the function "scr_TestResolution" to check the existence of a resolution.
- the following functions have been removed from the "zgl_utils.pas" module: u_IntToStr, u_StrToInt, u_FloatToStr, u_StrToFloat, u_BoolToStr, u_StrToBool and u_Sleep. Use the standard functions that come with FPC/Lazarus.
- some changes for MacOS: now the 12th demo works, windows are created in the center of the screen.
- font creation programs have been adjusted.
- the code for Delphi has been adjusted (also related to scaling).
- minor other changes, you can find out in full in the file "Update_ZenGL.txt".