On 26 December 2013 07:52, Ronie Salgado <[email protected]> wrote:
> Alex, > > libSDL and libSDL2 are low-level multi-media libraries designed for games. > Those libraries are best suited for basic pixel blitting, some lines and > rect in a cross platform way. Both libraries allows you to use a custom > software rendering or create a window in a cross-platform way. As for > Cairo, that's a full featured vector graphics library, practically designed > for SVG rendering. So, those two libraries cannot be compared, but I think > that Cairo can be used to render into a texture and then use SDL to display > it on screen. Actually, I don't have any experience with Cairo. > > As for the VM, I was looking at his Unix platform module, suspecting that > the tearing and flickering was caused by using just XLib for blitting the > main pharo window after Milton told that those issues aren't seen in > Windows. If we add to the mix some always buggy AMD drivers, it seems that > the solution goes by rewriting the display to uses OpenGL for blitting the > main window, with VSync enabled, or using a separate native window for > OpenGL graphics. > > By the way, what I found most strange about display VM code is that > there's support for creating an OpenGL context already in place, with an > accompanying -glxdebug flag, for verbose output. When I tried that option, > I didn't get any output, so I could assume that these is not used for fast > blitting under Linux. > > As for SDL2, it provides all the required facilities for a VM display > module, without having to deal with X11 or platform specifics. Window > creation, multiple OpenGL context creation, clipboard handling, input > support, multi-threading, sound support, drag and drop. That version of SDL > had a strong contribution by Valve, they needed something to start pushing > heavily Linux, even the latest versions of Steam uses it. > > Anyway, I am planning to discuss this matter with Igor, during my stay at > Lille. > > Yes, i want to do some improvements in this area of VM. > Greetings, > Ronie Salgado > > > 2013/12/26 Alexandre Bergel <[email protected]> > >> Ronie, >> >> You mention libSDL. Do you know how it compares with Cairo? They look >> similar, but I could not find a detailed comparison >> >> Alexandre >> >> Le 26-12-2013 à 0:12, Ronie Salgado <[email protected]> a écrit : >> >> Stef >> >> That sounds very interesting. I dream of a virtual world environment such >> as Second Life, highly dynamic and completely open source. >> >> But currently I would like to do a simple video game, with toon like >> graphic, using bullet for physics. I think that making an actual game >> development pipeline would be very interesting. >> I would not create a full level editor, modeling software because it >> takes too much time, and there is Blender which is open source and very >> complete. >> >> Some tasks required are as follow: >> - An easy way to make bindings for C++ libraries. For this I am going to >> start extending SWIG(http://www.swig.org/) so it can generate bindings >> for Pharo NativeBoost. >> - Bindings for the Bullet physics engine( >> http://bulletphysics.org/wordpress/). With the extensions for swig, this >> is trivial. >> - An importer for COLLADA. COLLADA is a XML based asset exchange format, >> with a wide support in different 3d model editors, such as Blender. >> - For Linux, a new VM display module is required. The current that uses >> just X11 suffers of severe tearing and flickering. I would like to make a >> display module for the VM that uses SDL2, which is a cross platform library >> that supports hardware accelerated graphics, or cross platform creation of >> an OpenGL context. >> - I think that garbage collection would require some determinism/time >> constraint or write some guidelines to avoid triggering the gargbage >> collector. When I'm testing the particles, I can see some noticeable pause, >> that I attribute to the garbage collector. >> >> Greetings, >> Ronie Salgado >> >> >> 2013/12/25 Stéphane Ducasse <[email protected]> >> >>> Ronie >>> >>> I was talking about 3D with Igor (because Igor came to Smalltalk because >>> he wanted to use it as a game engine and built rendering >>> engine in Pascal long long time ago :). >>> So I was brainstorming to see what you could do. >>> >>> the last time alex show roassal 3D we were thinking that it would be >>> good to build a kickstarter show case on something >>> sexy (maybe bridging a physical model to 3D)…. >>> >>> Now what would like to build with NBOpenGL? What are your dreams and how >>> could we slice them into tasks that could be reached in a limited amount >>> of time. >>> >>> Stef >>> >> >> > -- Best regards, Igor Stasenko.
