Ident TODO

From CEGUI Wiki - Crazy Eddie's GUI System (Open Source)
Revision as of 18:01, 7 February 2015 by Ident (Talk | contribs)

Jump to: navigation, search

CEGUI General

  • Texture filtering should use trilinear filtering, instead of bilinear for magnification in some (!) cases. Need to figure out which cases need which and implement a switch, etc
  • Replacing ColourRect with Colour would allow us to strip all per-vertex attributes for colours and allows us to use a highly performant uniform instead. People who want fancy fonts etc should just use Bitmap Fonts and Widgets can simply be changed to using different Images instead of applying Gradients with ColourRect there as well. http://cegui.org.uk/forum/viewtopic.php?f=6&t=6863
  • setAlpha apparently triggers recreation of GeometryBuffer should be replaced by a uniform instead of applying it to the per-vertex attributes (Done by Henri - Todo:Check if this is really 100% bullet-proof)
  • Check for the necessity and performance loss of unproject calls : d_owner->getRenderTarget().unprojectPoint(*d_geometry, in, p_out);
  • There are some Colour features that are currently unused and entirely undocumented in the CEGUI Colour class. I suggest replacing them with my own Colour classes, which were added along with the ColourPicker, and keeping onyl reworked and documented existing stuff. ( I think there was HSB or something?)

Opengl Renderers

Renderers

  • If applying the ColourRect changes is successful and performance-wise alright, then it should be possible to use instancing for the vbo's, which basically allows to use a single VBO to render all windows. This whole procedure is supported by OpenGL 3.1+ Core (see: https://www.opengl.org/wiki/GLAPI/glDrawArraysInstanced ) and can therefore definitely be supported by the OGL3 Renderer. Probably D3D11 supports it as well (will have to look into it). After checking the instancing methods, I encountered that they are not really giving any advantage for low-complexity meshes. Still, there should be ways to reduce the amount of batches.

SVG

  • Need to implement MSAA in all Renderers as alternative for the alpha blending AA
  • Need to fix D3D11 Rendering of SVG demo

SampleBrowser

  • Separate duties (input, Renderer-related stuff, etc) in different managers. Reduce the inheritation levels to a maximum of one. Simplify the classes. Make initialisation and deinitialisation more overlookable. Remove namespace "CEGUI" from all Sample-related stuff.

CEGUI docu

  • Improve cegui docu:
[17:07:59]	Ident	we really need to fix the docu for how to set up an application for CEGUI
[17:08:33]	Ident	and by "we" i mean someone except me
[17:12:50]	timotei	Ident: Well, there is already one, isn't it? :P
[17:13:07]	Ident	it lacks crucial info
[17:13:12]	timotei	Like?
[17:13:19]	Ident	how to deinitialise cegui
[17:13:25]	Ident	how to update cegui exactly (code samples)
[17:13:37]	Ident	for example the notifydisplaysizechanged
[17:13:49]	Ident	or how to render in detail
[17:14:11]	Ident	there were some posts in the forum in that regard too
[17:14:20]	Ident	when i have time i look through all of them and update the api docu
[17:14:21]	timotei	CEGUI_SamplesBrowser provides some examples as far as I know
[17:14:24]	Ident	nah
[17:14:31]	Ident	thats not a good place to look for this
[17:14:32]	timotei	Or you mean, simple CEGUI-ed application?
[17:14:35]	Ident	the rendering is super-specific
[17:14:43]	Ident	and also some of it is hidden
[17:14:55]	Ident	it doesnt make sense to look into SamplesBrowser
[17:15:13]	Ident	thats not what the browser is there for
[17:17:35]	Ident	how to make an application using cegui should be well documented with examples in the api docu
[17:17:43]	Ident	this should be the only resource for this
[17:17:57]	timotei	I see :)
[17:17:59]	Ident	then- how to initialise resources, load layouts and use cegui - this is where the samples come into play
[17:18:00]	Ident	because
[17:18:12]	Ident	there is many different ways to set up a cegui application
[17:18:21]	Ident	we cant cover all
[17:18:39]	Ident	of course we can and should provide code snippetsd
 
http://cegui.org.uk/forum/viewtopic.php?f=10&t=6772&p=31775#p31775

SVG Tessellator tests

Create em', it is easy according to mpreisler

[15:05:35]	mpreisler	just copy a .cpp file and fill it with your tests

Add tooltips to some demo

It is currently not covered anywhere. Or is it( need to check!)?

Add properties for the classes and maybe the entire output from the properties (such as done in the WidgetDemo) into the doxygen docs

[18:52:13]	BoomerBile	if you /*** this is the comment for class X
[18:52:44]	BoomerBile	*** m_SomeVariable description
[18:53:01]	BoomerBile	*** @property description
[18:53:09]	BoomerBile	it will dump them into the api docs

Adapt CEGUI System for multi-window support

See: https://bitbucket.org/cegui/cegui/pull-request/141/improved-ogre-renderer/diff#comment-5004142