Thanks Ronie for these explanation Alexandre
On Dec 26, 2013, at 7:52 AM, 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. > > 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 >> > -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
