[GSoC 2012] Off-Screen Particles project - continuation

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

Re: [GSoC 2012] Off-Screen Particles project

Post by Assaf Raman »

I need to think about it. Lets talk about it once more - if we will take part in 2013.
Watch out for my OGRE related tweets here.
PhilipLB
Google Summer of Code Student
Google Summer of Code Student
Posts: 550
Joined: Thu Jun 04, 2009 5:07 pm
Location: Berlin
x 108

Re: [GSoC 2012] Off-Screen Particles project

Post by PhilipLB »

2013: Of course, all in all Ogre benefits from the GSoC a lot. One glitch is no reason to not participate. :)
Google Summer of Code 2012 Student
Topic: "Volume Rendering with LOD aimed at terrain"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Mattan Furst


Volume GFX, accepting donations.
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: [GSoC 2012] Off-Screen Particles project

Post by Assaf Raman »

You misunderstood - we try every year - but some years Google doesn't give us any spot.
Watch out for my OGRE related tweets here.
PhilipLB
Google Summer of Code Student
Google Summer of Code Student
Posts: 550
Joined: Thu Jun 04, 2009 5:07 pm
Location: Berlin
x 108

Re: [GSoC 2012] Off-Screen Particles project

Post by PhilipLB »

Oh, ok, cool. :)

(Sry for getting off topic, this thread is still about this GSoC project)
Google Summer of Code 2012 Student
Topic: "Volume Rendering with LOD aimed at terrain"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Mattan Furst


Volume GFX, accepting donations.
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: [GSoC 2012] Off-Screen Particles project

Post by Assaf Raman »

Yes, I will be happy for any post from the student.
Watch out for my OGRE related tweets here.
User avatar
duststorm
Minaton
Posts: 921
Joined: Sat Jul 31, 2010 6:29 pm
Location: Belgium
x 80
Contact:

Re: [GSoC 2012] Off-Screen Particles project

Post by duststorm »

bstone wrote:Yes. Handing them one and the same assignment has the following cons: they know that their evaluation work will not be of any use most likely (i.e. with 4 GSoC candidates there's 75% probability, not a hot incentive), it's unrelated to their proposal and might be in the field that is not particularly interesting for the student in question.
The problem is that it demands a lot of time from the ogre team. Maybe if for a short time period, only for the tests, there would be some additional crew or community members willing to support students, it could work.
Developer @ MakeHuman.org
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: [GSoC 2012] Off-Screen Particles project

Post by Assaf Raman »

This is the first student that is going to fail - from about 20 that we had until today - so I don't know if it is worth the effort.
Watch out for my OGRE related tweets here.
User avatar
duststorm
Minaton
Posts: 921
Joined: Sat Jul 31, 2010 6:29 pm
Location: Belgium
x 80
Contact:

Re: [GSoC 2012] Off-Screen Particles project

Post by duststorm »

Assaf Raman wrote:This is the first student that is going to fail - from about 20 that we had until today - so I don't know if it is worth the effort.
Good point.
But for completeness sake, I think there was a second student that failed once (this one).
Developer @ MakeHuman.org
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: [GSoC 2012] Off-Screen Particles project

Post by Assaf Raman »

I didn't remember about the other one.
Watch out for my OGRE related tweets here.
drwbns
Orc Shaman
Posts: 788
Joined: Mon Jan 18, 2010 6:06 pm
Location: Costa Mesa, California
x 24

Re: [GSoC 2012] Off-Screen Particles project

Post by drwbns »

I like the idea of the candidates fixing some bugs. It would show they understand Ogre and would help keep it bug free. Give them 2 or 3 to see if they're serious about adding to Ogre
TheSHEEEP
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 972
Joined: Mon Jun 02, 2008 6:52 pm
Location: Berlin
x 65

Re: [GSoC 2012] Off-Screen Particles project

Post by TheSHEEEP »

I'm against giving them more than 1.
That could be seen as a cheap way to get "free" bug fixes instead of a test of qualification. Also, too much work for qualification purposes will scare off many capable and motivated people, I'm sure.
It should rather be some kind of mini-project (NOT longer than 1-2 days of work) in which the Ogre and communication abilities of the student are evaluated. And a single bugfix is a great mini project, IMO.

This is also used in some companies, where they give you one of their bugs to see how you work. Fixing the bug is not nearly as important as how you approach the subject.
My site! - Have a look :)
Also on Twitter - extra fluffy
User avatar
duststorm
Minaton
Posts: 921
Joined: Sat Jul 31, 2010 6:29 pm
Location: Belgium
x 80
Contact:

Re: [GSoC 2012] Off-Screen Particles project

Post by duststorm »

We definitely don't want to scare away potentially good candidates. While there is some pretty good interest from students for an Ogre GSoC, we don't have the luxury some other projects have (being able to pick from 100s of applications). It's certainly not the goal to end up with less candidates than there are slots.
Developer @ MakeHuman.org
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: [GSoC 2012] Off-Screen Particles project

Post by Assaf Raman »

Usually we give back spots - because of lack of good students\topics.
Watch out for my OGRE related tweets here.
User avatar
duststorm
Minaton
Posts: 921
Joined: Sat Jul 31, 2010 6:29 pm
Location: Belgium
x 80
Contact:

Re: [GSoC 2012] Off-Screen Particles project

Post by duststorm »

Assaf Raman wrote:Usually we give back spots - because of lack of good students\topics.
What a shame :(
Developer @ MakeHuman.org
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: [GSoC 2012] Off-Screen Particles project

Post by Assaf Raman »

Also from lack of mentors, I did two projects this year, just so we will not give up a spot...
Watch out for my OGRE related tweets here.
User avatar
Zonder
Ogre Magi
Posts: 1168
Joined: Mon Aug 04, 2008 7:51 pm
Location: Manchester - England
x 73

Re: [GSoC 2012] Off-Screen Particles project

Post by Zonder »

Assaf Raman wrote:See his fork: https://bitbucket.org/KarolBadowski/ogr ... nparticles
See for yourself when was the last update.
He didn't work.
I don't see how I can give this a passing grade.
We wanted so much more - but because he didn't work - I have cut down the project to less and less, now it is something I can write in one day, this is not a joke, we selected this student over other that did want to work.
We will not make a joke of this whole thing.
If you don't work, you don't pass, that is it.
You are getting paid to work for two months, not to complete an "out sourced project".
I am spending my time for free, just so we may get in the end - new community members for this open source project.
It seems that this student think he can do whatever and he will pass in any case.
This is not the case.
Sorry, I need to draw a line in the sand here.
I have been following this. I have a team at work and he would no longer be on it.
There are 10 types of people in the world: Those who understand binary, and those who don't...
Karol Badowski 1989
Google Summer of Code Student
Google Summer of Code Student
Posts: 185
Joined: Fri Apr 06, 2012 3:04 pm
x 18

Re: [GSoC 2012] Off-Screen Particles project

Post by Karol Badowski 1989 »

Assaf Raman wrote:Did you read my last two posts?
I've red these posts just after they have been sent.

This week I've been trying to implement material scheme generator, based on Deferred Shading one (I had some problem to be online, but on sunday I will upload results of last changes - I am still putting every part together).
I saw no other way to inherit original textures (apart from depth that i was calculating), than generating material from level of application by extracting original values from original materials and giving them to new material that uses just one additional depth texture.

Perhaps there is a technically simpler way, but i can't find it.

This is the most complicated part for me and I am still continuing to do that, so I could put all my shaders together - without this it is impossible to finish the compositor (I assume that without inheriting parent technique it would not be result satisfying enough).

There is still a chance that i would manage to finish equivalence of this, with fixed material for each solid object and fixed material for each particle effect (something like SSAO has lack of colours), that has to be replaced with material_scheme later.

Both solutions would use fixed structure of shader. However providing material generator is something absolutely better.

(so it would have always the same structure of sources that output material and shaders are using - one for solid and two for particles).

------------------------------------------

If i do not manage to finish it to the end of the weekend, I am sorry for that. I still will continue to do this project outside of GSoC even if i am not passed through evaluation, just like everyone does projects. I do not want to leave unfinished work or waste the time that was provided.

There will be no need to assign this project for next year.
Last edited by Karol Badowski 1989 on Sat Aug 18, 2012 11:57 pm, edited 5 times in total.
Google Summer of Code 2012 Student
Topic: "Implementation of Off-Screen Particles"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: [GSoC 2012] Off-Screen Particles project

Post by Assaf Raman »

I am glad to see that you are ok, the lack in communication got me worried about you.
I think that both of us understand were this project stand.
I wish you good luck.
Watch out for my OGRE related tweets here.
Karol Badowski 1989
Google Summer of Code Student
Google Summer of Code Student
Posts: 185
Joined: Fri Apr 06, 2012 3:04 pm
x 18

Re: [GSoC 2012] Off-Screen Particles project

Post by Karol Badowski 1989 »

What is my current problem with material swpping:

(I use very simple material listener - it just replaces material to different one, everytime when material scheme is not found). Improved version would apply some attributes from previous material.
To test if it works I use the simplest version of rendering solid objects.

-in some other (earlier) pass they will be rendered to a color texture with their default properties and default vertex shader and pixel shader
-in the pass that I am examining they are rendered to other texture, that stores depth


This pass in compositor has an attribute "material_scheme SOLID_DEPTH_TEXTURE":

Code: Select all

   technique{
        texture depthTexture target_width target_height PF_FLOAT32_R chain_scope            target depthTexture
        {
            input none
            shadows off
            
            pass clear 
			{
			    buffers colour depth stencil
				depth_value 1.0 
			}
			
            material_scheme SOLID_DEPTH_SCHEME

            pass render_scene {
			    first_render_queue 10 //10 means objects in group Ogre::RenderQueueGroupID::RENDER_QUEUE_1
                last_render_queue  10 
			}
        }
   }
It is executed only for solid objects (every solid object was set manually to render group Ogre::RenderQueueGroupID::RENDER_QUEUE_1)

I have a material that is able to render depth (It was tested earlier, several times, by replacing original material of any object). As the result - in render_scene section, appropriate depth texture is created - and if object has its original material - that original material is rendered to destination texture (of cours only red channel of outpur survives).

Code: Select all

material OSP_GenerateDepthTexture
{
    technique
    {
        pass
        {	 
            vertex_program_ref OSP_GenerateDepthTexture_vp
            {
                param_named_auto worldViewProjection worldviewproj_matrix
			    param_named_auto depthRange scene_depth_range
            }

            fragment_program_ref OSP_GenerateDepthTexture_fp
            {
            }
        }
    }
}

Code: Select all

vertex_program OSP_GenerateDepthTexture_vp_cg cg
{
    source OSP.cg
    entry_point OSP_GenerateDepthTexture_vp
    profiles vs_2_x arbvp1
}
vertex_program OSP_GenerateDepthTexture_vp unified
{
	delegate OSP_SolidMaterialsBuffer_vp_cg
}

fragment_program OSP_GenerateDepthTexture_fp_cg cg
{
    source OSP.cg
    entry_point OSP_GenerateDepthTexture_fp
    profiles ps_3_0 arbfp1
}
fragment_program OSP_GenerateDepthTexture_fp unified
{
	delegate OSP_GenerateDepthTexture_fp_cg
}

Code: Select all

void OSP_GenerateDepthTexture_vp(
        float4 inputPosition : POSITION,

        out float4 outputPosition : POSITION,
        out float outputDepth : TEXCOORD0,

        uniform float4x4 worldViewProjection,
		uniform float4 depthRange
        )
{
        outputPosition = mul(worldViewProjection, inputPosition);
		outputDepth = (outputPosition.z - depthRange.x) * depthRange.w;
}

void OSP_GenerateDepthTexture_fp(
        float inputDepth : TEXCOORD0,
        out float oDepth : COLOR   //linear depth [0, 1]
		)
{
		oDepth = inputDepth;
}

That was description of situation.
What is the problem/question:


In the listener, I change material to some simplest material that does not use own shaders - it seems that material is replaced - instead of original texture, I see texture that is result of the new material.

However when I use little bit more complicated materials (that work if they are permanently granted to objects), they do not work in this dynamic swap.
I wonder what might be the reason ( I am certainly missing some step - or there is some restriction I do not know about yet).

MaterialSchemeListener.h

Code: Select all

#ifndef _MaterialSchemeListener_H
#define _MaterialSchemeListener_H

#include <OgreMaterialManager.h>

class MaterialSchemeListener : public Ogre::MaterialManager::Listener
{
public:
	/** @copydoc MaterialManager::Listener::handleSchemeNotFound */
	virtual Ogre::Technique* handleSchemeNotFound(unsigned short schemeIndex, 
		const Ogre::String& schemeName, Ogre::Material* originalMaterial, unsigned short lodIndex, 
		const Ogre::Renderable* rend);
};

#endif
(I will ad there constructor that creates every technique only one time and then just uses it - temporarily, it looks like this).

MaterialSchemeListener.cpp

Code: Select all

#include "MaterialSchemeListener.h"

#include <OgreMaterialManager.h>
#include <OgreTechnique.h>

using namespace Ogre;


Technique* MaterialSchemeListener::handleSchemeNotFound(unsigned short schemeIndex, 
		const String& schemeName, Material* originalMaterial, unsigned short lodIndex, 
		const Renderable* rend)
{
	if(schemeName == "SOLID_DEPTH_SCHEME"){
		Ogre::MaterialManager& matMgr = Ogre::MaterialManager::getSingleton();
		Ogre::MaterialPtr depthMaterial = matMgr.getByName("Penguin");//"PlainTexture");//"shader/orange_cg");//"OSP_GenerateDepthTexture");
		Technique* depthTechnique = depthMaterial->getTechnique(0);
		Technique* originalTechnique = originalMaterial->getTechnique(0);
		return originalTechnique;
	}
	else{
		return NULL;
	}
}
This is the simplest one as could be - it does not generate material based on original material - for now it just replaces it with some another, constant.

I am testing it on some working materials. It works for very simple technique like for example this one in "Penguin" material (it just defines texture unit). Result is that every object with render queue id == 10 is rendered here with penguin texture.

However I try to make it work for my technique - it does not work yet.
To see what is missing, I am trying to make it work for some very simple material that uses own shaders. It still fails for even this simple one material:

material:

Code: Select all

// CG Vertex shader definition
vertex_program PlainTexture_VS cg            
{
    source GameObjStandard.cg           
    entry_point main_plain_texture_vp      
    profiles vs_1_1 vs_2_x arbvp1                  
 
    default_params                    
    {
        param_named_auto worldViewProj worldviewproj_matrix        
    }
}
 
// CG Pixel shader definition
fragment_program PlainTexture_PS cg            
{
    source GameObjStandard.cg           
    entry_point main_plain_texture_fp   
    profiles ps_1_1 ps_3_0 arbfp1                   
}
 
material PlainTexture
{
        // Material has one technique
    technique                    
    {
                // This technique has one pass
        pass                    
        {
                        // Make this pass use the vertex shader defined above
            vertex_program_ref PlainTexture_VS    
            {
            }
                        // Make this pass use the pixel shader defined above
            fragment_program_ref PlainTexture_PS    
            {
            }
			
            texture_unit
            {
                        // This pass will use this 2D texture as its input
                texture Ten.png 2d        
            }
        }
    }
}
shaders:

Code: Select all

void main_plain_texture_vp(
        // Vertex Inputs
        float4 position        : POSITION,    // Vertex position in model space
        float2 texCoord0    : TEXCOORD0,    // Texture UV set 0
 
        // Outputs
        out float4 oPosition    : POSITION,    // Transformed vertex position
        out float2 uv0        : TEXCOORD0,    // UV0
 
        // Model Level Inputs
        uniform float4x4 worldViewProj)
{
    // Calculate output position
    oPosition = mul(worldViewProj, position);
 
    // Simply copy the input vertex UV to the output
    uv0 = texCoord0;
}
 
void main_plain_texture_fp(
        // Pixel Inputs
        float2 uv0        : TEXCOORD0,    // UV interpolated for current pixel
 
        // Outputs
        out float4 color    : COLOR,    // Output color we want to write
 
        // Model Level Inputs
        uniform sampler2D texture)        // Texture we're going to use
{
    // Just sample texture using supplied UV
    color = tex2D(texture, uv0);
}

void main_tex_mod_col_pixel_shader(
            float2 diffuse        : TEXCOORD0,
 
            out float4 color    : COLOR,
 
            uniform float4 colorModulate,    // Added the color parameter
            uniform sampler2D texture)
{
    color = tex2D(texture, diffuse);        // Sample the texture
    color = color * colorModulate;            // Multiply the pixel color by colorModulate
    color.a = colorModulate.a;            // Set the output alpha to be colorModulate.w
}
Is this because i try to get a technique from dofferent material instead of crating new one?
Every of these materials works when it is just applied to object (not in listener).
Google Summer of Code 2012 Student
Topic: "Implementation of Off-Screen Particles"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
Karol Badowski 1989
Google Summer of Code Student
Google Summer of Code Student
Posts: 185
Joined: Fri Apr 06, 2012 3:04 pm
x 18

Re: [GSoC 2012] Off-Screen Particles project

Post by Karol Badowski 1989 »

Right now material that contains shaders was applied successfully.
A the moment i'm transforming it gradually to my shader - to find the issue.

When i finish that, - I'll move this rendering pass to my main compositor and apply new listener for the step between downsampling and joining textures.

For each particle i will use one pass, but, for now without inheriting colours (all particles will have different particle programs, but the same material - point is to rewrite alpha-blending to modify output texture with the modified algorythm (one that uses previous transparency level of background instead of assuming that it is solid).


My compositor already concatenates full resolution background and downsamples particle effect - but i just need that listener to raplace and finally test material. First for alpha blending (it can be done without analysing source).
If i manage to do it before 12:00 tomorrow, I'll slightly modify my sobel filter and get to tidyin up code (removing old stuff that is no longer used and moving definitions to header files), add button that triggers function that enables/disables the compositor and listeners (EDIT: not listeners - they are not be trigerred in standard compositor anyway) And try to move the project from separate application.

If i finish it till the end of the weekend, I'll do next thing:
I haven't moved my project to source-compilation file (to be built and compiled with c-make) yet - some advice on this might be needed.

20 August is pencil-down - I'll continue applying missing part after the pencil-down.
-second rendering on particle testure with stenciling.
-modification of listener, that expects analysis of original source materials (that allows to execute version that calculates colour with all possible lights, normal-maps, etc in the same pass that depth is saved to alpha-channel or mrt instead of separate texture), supporting of additive version of shader for particles (little modiffication of calculating output alpha).
-requests that will be needed to apply

Right now i have some back-uped modifications of compositor that were not sent to repository yet - I'll upload some cumulative update tomorrow (for example backed-up versions of compositor with sobel filter etc display at the moment output of different channel, for debug - the same about downsampler - it will change tomorrow when it will be used by particles pass).
Google Summer of Code 2012 Student
Topic: "Implementation of Off-Screen Particles"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
Karol Badowski 1989
Google Summer of Code Student
Google Summer of Code Student
Posts: 185
Joined: Fri Apr 06, 2012 3:04 pm
x 18

Re: [GSoC 2012] Off-Screen Particles project

Post by Karol Badowski 1989 »

I finally solved that issue from 2 posts above.
It was not matter of compositor (but spending this time, I have found something that previously caused problem in DirectX9 ONLY WHEN material technique was given from level of listener - passed float had to be replaced with float4, becaue in case of param_named this parameter was saved in different adress on memory card and there was a difference).

It turned out that only materials that were granted to some objects were already in material manager. If one was not loaded, but other one that uses the same shaders was - it still worked. That is why I have moved material loading to constructor of material scheme listener.

As the pass* works correctly now in both OpenGL and DX9, I am moving it to main compositor and trying to use listener with particle rendering pass (putting things together).


----
*I have also one version prepared, where constant texture passed from material (could be changed from level of listener without biger problem to support one-texture materials) is calculated in same shader as depth (in that case it is option for depth passed in alpha channel).
Google Summer of Code 2012 Student
Topic: "Implementation of Off-Screen Particles"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
Karol Badowski 1989
Google Summer of Code Student
Google Summer of Code Student
Posts: 185
Joined: Fri Apr 06, 2012 3:04 pm
x 18

Re: [GSoC 2012] Off-Screen Particles project

Post by Karol Badowski 1989 »

Update of compositors local backups from August is uploaded. (also current version of application code). Right now I am altering the current render to downsampled particles texture (depth test + modification based on previous texture alpha).

When it is ready, I'll move to cleaning code) - I am also checking again if maximum-of depth downsample still works in both directX and openGL after last changes.
Google Summer of Code 2012 Student
Topic: "Implementation of Off-Screen Particles"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
Karol Badowski 1989
Google Summer of Code Student
Google Summer of Code Student
Posts: 185
Joined: Fri Apr 06, 2012 3:04 pm
x 18

Re: [GSoC 2012] Off-Screen Particles project

Post by Karol Badowski 1989 »

MaxOFDepth downsampling in final compositor works now in both: OpenGL and DirectX9.

At the moment I'm awake again and I'm doing the missing part (first on material given to all particle effects manually, later in material scheme listener when the material works).



In alpha blending pass I want to change alpha of off-screen texture, based on pictures' previous value of alpha (that would need the same texture for input and output at the same time).

As solution, I'll use parameters on level of material script (colour_op_ex and alpha_op_ex).
Their combination has to be equivalent to

Code: Select all

AlphaBlendEnable = true;  
SrcBlend = SrcAlpha;  
DestBlend = InvSrcAlpha;  
SeparateAlphaBlendEnable = true;  
SrcBlendAlpha  = Zero;  
DestBlendAlpha = InvSrcAlpha;  
Google Summer of Code 2012 Student
Topic: "Implementation of Off-Screen Particles"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
Karol Badowski 1989
Google Summer of Code Student
Google Summer of Code Student
Posts: 185
Joined: Fri Apr 06, 2012 3:04 pm
x 18

Re: [GSoC 2012] Off-Screen Particles project

Post by Karol Badowski 1989 »

Displayed particles are still too dark with parameters I am setting for the material in texture_unit with (colour_op_ex and alpha_op_ex parameters).

I'll try use "separate_scene_blend" instead. It works on level of material.

Effect I want to achieve is different for alpha and different for colours.
new.rgb=old.rgb*(1-delta.a) + delta.rgb*delta.a;
new.a=old.a*(1-delta.a) + delta.a;

Where delta is output of a shader, old is current frame buffer and new is new value to save in frame buffer.
Google Summer of Code 2012 Student
Topic: "Implementation of Off-Screen Particles"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
User avatar
kulik
Gremlin
Posts: 183
Joined: Sun May 01, 2005 2:00 pm
x 23
Contact:

Re: [GSoC 2012] Off-Screen Particles project

Post by kulik »

Just a suggestion, make smaller commits, otherwise it will be extremely hard to review and merge them. The rough rule of thumb is that if you can't describe what the commit does in just 72 characters, split it into more commits. Each commit should build preferrably.

I am talking about this specifically:
https://bitbucket.org/KarolBadowski/ogr ... 0ad662ad02

Uploading ZIPs with dates into a version control system also makes little sense.
mpreisler on IRC | CEGUI team member, CEGUI Unified Editor developer, OISB founder
Post Reply