[Bf-committers] Weekly Blender developer meeting minutes - December 29, 2013
arnaud at sphaero.org
Sat Jan 4 14:39:34 CET 2014
I was just fixing the Makefile and was able to build the lib when you
commited just an hour ago. It now errors on:
GUI.c:428: undefined reference to `GetIntersection'
... and some more.
The cleaned up of the Makefile:
However I can't compile now because of above errors. I can do a pull
request for the Makefile but I'd rather wait for the above errors to go
away first. I think I'm missing some file again ;) Make sure you check
'git status' before doing pushes.
The BasicUtils lib puzzles me a bit since you compile it as a static
lib. As a static lib it not really usefull installed system wide. It
should probably be a shared lib or just included in TableGUI?
The glScissor thing sounds really great. I'm not familiar with it other
than that is used the determine a mask for updating?
About the application loop. I know in most GL apps the loop is usually
done at Xfps however for an UI lib it could be a bit overkill. If
nothing happens a loop can just wait for an event and do nothing in the
meantime. But I'm still thinking this through how this works with GL. In
Blender I think the UI is drawn every 30 frames or so...
On 01/03/2014 10:10 PM, Felipe Ferreira da Silva wrote:
> I'm considering make a blog about the gui toolkit, write about the
> progress, post concepts and ideas, and receive opinions.
> @Hi, Arnaud.
> Thanks for the warning. I've never used git and github before, so I
> end up forgetting
> to include some files before commit. I'm compiling it on Archlinux.
> You will need:
> BasicUtils (another library mine, also on github) and
> Cairo library (used only to create the font texture).
> I will try to compile under windows later.
> Here is the current main loop inside GUI.c: http://pastebin.com/dnFR7U4X
> It is not the same at the github (name as "RunWindow"), this one was not
> commited yet.
> I'm not using sleep to force the rendering frame-rate, since it would stop
> the "processing" frame-rate too. I'm just subtracting the last time by the
> current time, if the value is > than 1 sec, then the rendering function is
> called. It resembles the "Constant Game Speed with Maximum FPS" loop at
> The SDL calls are commented and being replaced by GLFW/OpenGL calls.
> So, since my last message, I switched from FBOs to use glScissor instead. I
> could not ask for better results, performance is not a problem anymore:
> When I was using FBOs
> * Using < 400 widgets, the processing frame-rate was about 420000 cycles.
> * The rendering frame-rate was at the max speed: 60 fps.
> * But the processing frame-rate can decreases very fast, an > 400 widgets,
> the rendering frame-rate was comprimised.
> Using glScissor
> * I was able to use more than 3600 widgets and keep the processing
> frame-rate about 530000 cycles!!! The top frame-rate is about 850000 cycles.
> * Virtually, no lost of rendering frame-rate.
> About the current state of the widgets, I have:
> Single-line editor (short name: Entry).
> Tabset (cool feature: to scroll the tabset, you have to hold righ-click and
> move the cursor).
> Treeview (still WIP).
> Scrollbar (need some polish).
> I just made a commit, but I will commit again soon (today, or tomorrow).
> I've changed some stuff that affects how to integrate the toolkit with a
> script language, but I will write about it later.
> Felipe Ferreira
3551 EM Utrecht
e: arnaud at z25.org
i: freenode: sphaero_z25
More information about the Bf-committers