[GSoC 2011] More ideas by the community

Threads related to Google Summer of Code
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel

[GSoC 2011] More ideas by the community

Post by Assaf Raman » Tue Mar 22, 2011 6:44 pm

I want to start a thread where community members can post ideas for projects.
Students - feel free to pick up ideas from here.
Last edited by spacegaier on Sat Mar 26, 2011 5:09 pm, edited 1 time in total.
Reason: altered title
0 x
Watch out for my OGRE related tweets here.

User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel

Re: [2011] More ideas by the community

Post by Assaf Raman » Tue Mar 22, 2011 6:48 pm

Idea: SWIG wrapper for OGRE.
SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is used with different types of target languages including common scripting languages such as Perl, PHP, Python, Tcl and Ruby. The list of supported languages also includes non-scripting languages such as C#, Common Lisp (CLISP, Allegro CL, CFFI, UFFI), D, Go language, Java, Lua, Modula-3, OCAML, Octave and R. Also several interpreted and compiled Scheme implementations (Guile, MzScheme/Racket, Chicken) are supported. SWIG is most commonly used to create high-level interpreted or compiled programming environments, user interfaces, and as a tool for testing and prototyping C/C++ software. SWIG is typically used to parse C/C++ interfaces and generate the 'glue code' required for the above target languages to call into the C/C++ code. SWIG can also export its parse tree in the form of XML and Lisp s-expressions. SWIG is free software and the code that SWIG generates is compatible with both commercial and non-commercial projects.
The project will include writing Interface files for all relevant core OGRE h files, adding a build option to create the wrapper to the OGRE CMake files, and creating a test project in a different language then c++ that test the result wrapper.

Feel free to say good or bad things about this idea.
0 x
Watch out for my OGRE related tweets here.

User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel

Re: [2011] More ideas by the community

Post by Assaf Raman » Tue Mar 22, 2011 7:03 pm

Searching the forum suggest that SWIG doesn't handle c++ well
http://www.ogre3d.org/forums/viewtopic. ... IG#p419265
I don't have personal experience with it.
0 x
Watch out for my OGRE related tweets here.

User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
Contact:

Re: [2011] More ideas by the community

Post by jacmoe » Tue Mar 22, 2011 7:06 pm

IDEA:
Improve the Resource Manager so that it is able to handle duplicate resource identifiers - mainly by not using the file system name, but instead map it using GUIDs (or similar).
I am aware that Praetor and his team/company has implemented such functionality.
I'll try and dig up some resources on this.

Work on the background loading / streaming.

And some other stuff.

I think that improved resource management would be a huge win for Ogre.
And I hope that one of you candidates are willing to take the idea and turn it into a irresistible GSoC project. :)

Chris Jones wrote:I like this idea too.

Further thoughts to discuss:

Separate out resource code into a separate component (such as a discussion earlier about splitting ogre up)?
Change how resource groups are handled? I've never really liked resource groups or how they are really embedded into Ogre. I'd like to see it easier to integrate into other libraries/tools resource management.
0 x
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.

User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
Contact:

Re: [2011] More ideas by the community

Post by jacmoe » Tue Mar 22, 2011 7:08 pm

Assaf Raman wrote:Searching the forum suggest that SWIG doesn't handle c++ well
http://www.ogre3d.org/forums/viewtopic. ... IG#p419265
I don't have personal experience with it.
Look in the Feature Request forum - I am working on a hand-written C wrapper for Ogre. :wink:
A SWIG wrapper would be nice, though. Maybe SWIG 2 is ready for it?
0 x
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.

User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel

Re: [2011] More ideas by the community

Post by Assaf Raman » Tue Mar 22, 2011 7:19 pm

Idea: Some HW instancing work:
1. Create a good normal HW instancing sample based on one of MS instancing samples and see that it works correctly with GL, D3D9 and D3D11 render systems.
1. Translate Path Instancing to a new OGRE sample.
0 x
Watch out for my OGRE related tweets here.

User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel

Re: [2011] More ideas by the community

Post by Assaf Raman » Tue Mar 22, 2011 7:22 pm

jacmoe wrote:
Assaf Raman wrote:Searching the forum suggest that SWIG doesn't handle c++ well
http://www.ogre3d.org/forums/viewtopic. ... IG#p419265
I don't have personal experience with it.
Look in the Feature Request forum - I am working on a hand-written C wrapper for Ogre. :wink:
A SWIG wrapper would be nice, though. Maybe SWIG 2 is ready for it?
I don't mind if the SWIG wrapper will wrap your C wrapper.
BTW: What about a student helping you out with the C wrapper?
0 x
Watch out for my OGRE related tweets here.

elie
Gnoblar
Posts: 2
Joined: Fri Mar 18, 2011 8:06 pm

Re: [2011] More ideas by the community

Post by elie » Tue Mar 22, 2011 8:09 pm

What about the proposal for GSoC 2008 regarding a material/shader library that was not accepted?
http://www.ogre3d.org/forums/viewtopic.php?f=13&t=40281
0 x

andrei_radu
Google Summer of Code Student
Google Summer of Code Student
Posts: 55
Joined: Fri Mar 18, 2011 8:37 pm

Re: [2011] More ideas by the community

Post by andrei_radu » Tue Mar 22, 2011 8:26 pm

Searching the forum suggest that SWIG doesn't handle c++ well
viewtopic.php?f=3&t=63153&p=419265&hilit=SWIG#p419265
I don't have personal experience with it.
I know that crystalspace uses SWIG, and it's written in C++, so it's definitely possible(from what I know, it's used quite often for CS).
0 x

User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel

Re: [2011] More ideas by the community

Post by Assaf Raman » Tue Mar 22, 2011 8:28 pm

elie wrote:What about the proposal for GSoC 2008 regarding a material/shader library that was not accepted?
http://www.ogre3d.org/forums/viewtopic.php?f=13&t=40281
Lots of what he suggested was implemented since then as part as the RTSS.
So - any project of this type will be "extending the RTSS" in some way.
I will love to see some new ideas for extending the RTSS.
0 x
Watch out for my OGRE related tweets here.

User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel

Re: [2011] More ideas by the community

Post by Assaf Raman » Tue Mar 22, 2011 8:31 pm

andrei_radu wrote:
Searching the forum suggest that SWIG doesn't handle c++ well
viewtopic.php?f=3&t=63153&p=419265&hilit=SWIG#p419265
I don't have personal experience with it.
I know that crystalspace uses SWIG, and it's written in C++, so it's definitely possible(from what I know, it's used quite often for CS).
Any student that wants this idea will have to show a small sample that wraps one existing OGRE class with SWIG as a proof of concept.
This type of project can really move OGRE forward - if it is technically possible.
0 x
Watch out for my OGRE related tweets here.

User avatar
Noman
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 714
Joined: Mon Jan 31, 2005 7:21 pm
Location: Israel
Contact:

Re: [2011] More ideas by the community

Post by Noman » Tue Mar 22, 2011 11:44 pm

IDEA : Integrate Deferred Rendering pipeline with the Run-Time-Shader-Generator (RTSS)

Currently, the deferred rendering demo uses a simple shader generator to generate the shaders. This means that besides the basic rendering options, not much is supported.
The RTSS can generate shaders that take care of all of the fixed pipeline, but only generates them for the forward rendering method.
It should be possible to use it (or refactor it) to split different stages (lighting / transforms etc) that already exist in the system differently between shaders, generating shaders that render objects to the G-buffer automatically. A similar process can be used to generate shaders that render light sources from the G-buffer, giving Ogre a true deferred pipeline for the entire fixed-function set of materials.
0 x

User avatar
cin
Kobold
Posts: 36
Joined: Thu Sep 25, 2008 10:34 am
Location: Russia. Nakhodka.
Contact:

Re: [2011] More ideas by the community

Post by cin » Wed Mar 23, 2011 4:35 am

:idea: Add point light shadows in OGRE. And add it to Deferred Shading demo too.
0 x

User avatar
tuan kuranes
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 2653
Joined: Wed Sep 24, 2003 8:07 am
Location: Haute Garonne, France
Contact:

Re: [2011] More ideas by the community

Post by tuan kuranes » Wed Mar 23, 2011 8:44 am

- A GPUGPU compute abstract plugin GPUGPU Plugin with an Opencl pluginn Cuda plugin, and directcompute plugin instance

- Render Command Buffers (even phones are multicore now) http://www.gamebryo.com/GameFest2008 + http://beautifulpixels.blogspot.com/200 ... mmand.html (From other engines (unity,unigine,frostbite), still useful even with dx11 own version of command buffers)

- Data Orientation Design : rework culling, renderqueue, transformations, etc... => http://www.slideshare.net/search/slides ... from=basic
(a good first step toward better multicore/multithread task oriented engine as DOD code is much easier to parallelise)

- Improve shadows and shadow demo (like intel shadow explorer) with latest techniques , Normal Offset Shadows , SDSM , Adaptive Volumetric Shadow Maps
0 x

User avatar
boyamer
Orc
Posts: 459
Joined: Sat Jan 24, 2009 11:16 am
Location: Italy

Re: [2011] More ideas by the community

Post by boyamer » Wed Mar 23, 2011 8:49 am

Agree with Noman,
Deferred rendering pipeline with the RTSS would be very nice, automatic generate the shader stuff for geometry rendered to G-Buffer, handle even skinned mesh,
with alpha support (maybe taking look at: http://null-ptr.blogspot.com/2009/01/de ... nding.html).

Another idea would be to improve the DirectX 11 render system by adding Hull, Tesselate and compute shaders.

Thanks,

Amer
0 x

User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel

Re: [2011] More ideas by the community

Post by Assaf Raman » Wed Mar 23, 2011 9:06 am

@tuan kuranes: Can explain more why do you think GPUGPU should be a part of OGRE?
0 x
Watch out for my OGRE related tweets here.

User avatar
tuan kuranes
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 2653
Joined: Wed Sep 24, 2003 8:07 am
Location: Haute Garonne, France
Contact:

Re: [2011] More ideas by the community

Post by tuan kuranes » Wed Mar 23, 2011 10:03 am

@Assaf Raman : GpuGpu gives access to use of GPU that shader doesn't, and having it integrated in Ogre would ease the bridging/sharing of data (texture/memory) between shaders and gpugpu code. Many post-processing algorithms are moving to pure gpugpu code, therefore at some point not that far, compositor will be useless if they're not supporting it.
Ogre does abstract render systems, why it should not do the same for compute shaders ?
http://unigine.blogspot.com/2010/02/cud ... rt-ii.html
http://www.idevgames.com/forums/thread-8649.html
http://www.nvidia.com/content/GTC/docum ... _GTC09.pdf
0 x

User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel

Re: [2011] More ideas by the community

Post by Assaf Raman » Wed Mar 23, 2011 10:11 am

@tuan kuranes: I think that GPGPU is beyond the scope of OGRE core. The only thing relevant in the core may be code to ease the bridging/sharing of data with GPGPU - if that is missing.
0 x
Watch out for my OGRE related tweets here.

User avatar
tuan kuranes
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 2653
Joined: Wed Sep 24, 2003 8:07 am
Location: Haute Garonne, France
Contact:

Re: [2011] More ideas by the community

Post by tuan kuranes » Wed Mar 23, 2011 11:54 am

@Assaf Raman : Ogre will not allow users to use directcompute shaders in compositor then ?
0 x

User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel

Re: [2011] More ideas by the community

Post by Assaf Raman » Wed Mar 23, 2011 11:59 am

@tuan kuranes: Sorry, I guess I am missing something - what keeps you from using directcompute shaders in compositor even today?
0 x
Watch out for my OGRE related tweets here.

User avatar
tuan kuranes
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 2653
Joined: Wed Sep 24, 2003 8:07 am
Location: Haute Garonne, France
Contact:

Re: [2011] More ideas by the community

Post by tuan kuranes » Wed Mar 23, 2011 12:07 pm

@Assaf Raman : Consistency. The fact that other rendersystem (OpenGL, opengl ES) doesn't have any equivalence and therefore makes it a single rendersytem only feature ?
0 x

User avatar
Jabberwocky
OGRE Moderator
OGRE Moderator
Posts: 2819
Joined: Mon Mar 05, 2007 11:17 pm
Location: Canada
Contact:

Re: [2011] More ideas by the community

Post by Jabberwocky » Wed Mar 23, 2011 7:49 pm

tuan kuranes wrote: - Render Command Buffers (even phones are multicore now) http://www.gamebryo.com/GameFest2008 + http://beautifulpixels.blogspot.com/200 ... mmand.html (From other engines (unity,unigine,frostbite), still useful even with dx11 own version of command buffers)
If this would help to significantly reduce Ogre's batch-rendering CPU bottleneck, I'm a huge fan of this proposal.
tuan kuranes wrote: - Data Orientation Design : rework culling, renderqueue, transformations, etc... => http://www.slideshare.net/search/slides ... from=basic
(a good first step toward better multicore/multithread task oriented engine as DOD code is much easier to parallelise)
Ditto.
0 x
Image

th3flyboy
Gnoblar
Posts: 10
Joined: Sun Aug 16, 2009 3:52 am

Re: [2011] More ideas by the community

Post by th3flyboy » Thu Mar 24, 2011 4:29 am

tuan kuranes wrote:@Assaf Raman : Consistency. The fact that other rendersystem (OpenGL, opengl ES) doesn't have any equivalence and therefore makes it a single rendersytem only feature ?
Actually, there is an equivalent handled by the same standards group as OpenGL, OpenCL http://www.khronos.org/opencl/.
0 x

User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel

Re: [2011] More ideas by the community

Post by Assaf Raman » Thu Mar 24, 2011 10:27 am

Idea: serialize OGRE resources using google protocol buffers - it is the best standardized binary format I know, and will enable editing of OGRE resources in other languages then c++.
0 x
Watch out for my OGRE related tweets here.

User avatar
SunSailor
Gnoll
Posts: 699
Joined: Sun Jan 02, 2005 5:45 pm
Location: Velbert, Germany
Contact:

Re: [2011] More ideas by the community

Post by SunSailor » Fri Mar 25, 2011 10:26 am

Assaf Raman wrote:Idea: serialize OGRE resources using google protocol buffers - it is the best standardized binary format I know, and will enable editing of OGRE resources in other languages then c++.
Yes, had a similar idea and this post points in the same direction. Serialization is very inconsistent and feels plugged into the system. I would suggest a full serialization layer to OGRE, which would allow to serialize a whole scene from and to file, especially meshes, materials and animations. Some kind of reference mechanism would be needed and a filter to enable and disable object types and it should be possible to start serialization from certain points in the hierachy.
I think most, if not all, open source engines lack of such a mechanism, which would allow to export a whole animated scene out of an editor into the engine. The benefit of such generic mechanism would be, that not a dedicated framework would be needed to achieve this, although the freedom to extend the description format remains.
0 x
Online-Distribution with Jade-DS, Ogre-Wrapper included.
Follow me on Twitter for updates!

Post Reply