Question about Experience / Help

Threads related to Google Summer of Code
Post Reply
pxL
Gremlin
Posts: 158
Joined: Fri Oct 07, 2005 11:48 am
Location: Hilversum, The Netherlands
Contact:

Question about Experience / Help

Post by pxL »

Hey,

I'm also intrested in applying for Google SoC, but first I have a questions.

Personally I don't have a project in mind so I would most likely pick an idea from the idea list. The problem is getting started for me, normally you already have a basic idea of the design (ie which road your going to take) of what you are going to make. I don't really have that with any of those projects, so that would mean that I would need help doing the basic design. Once I have a basic design I'm pretty confident I can do the project :D.

So the questions are basically:
- Do you need the experience ("have a first step in mind") in what you are going to do?
- Are the mentors willing in helping me with creating the basic design / idea? (or would they much rather have a more experienced student)

-----
Ps. I can do designing and stuff it's just getting the first step done is a problem for me :?. Maybe I'm just not confident enough :oops:
Lodes
Google Summer of Code Student
Google Summer of Code Student
Posts: 228
Joined: Mon Mar 17, 2003 12:02 am
Location: San Jose, CA, USA

Post by Lodes »

I can't answer your questions but I can give you some tips:

You will see that most of the ideas have links attached. Read through the links, do some basic research on the topic that interests you. Then you can do some more thorough reading/research on these topics.

For the .fx to .material converter, download a program like rendermonkey and get familiar with the .fx files. Then read the ogre manual about the material system. I am sure you will see what needs what needs to be done.

For the graphics card emulation, the idea tells you where changes would need to take place in. Most likely you will also need to find out the capabilities of each graphics card (either by asking people to run a ogre program and submitting the logs to you, or some other mean).

For the More Shadow examples, try to find papers and read them. I believe in the manual or wiki there is very good information about how you can extend the current shadows and just go through the api docs.

For the scene manager, you need to find a need for a different scene manager. Look at the other scene managers (the default ogre ones, PLSM, Nature?, oFusion's, ...) and try to find papers that discuss what you want to do.

I am sure you are getting the drift now. I think it all starts with proper research into what you want to do.
pxL
Gremlin
Posts: 158
Joined: Fri Oct 07, 2005 11:48 am
Location: Hilversum, The Netherlands
Contact:

Post by pxL »

Yea will do, still I'm hoping to get my anwers though :P.

I will be able to do some research but since the deadline to apply for SoC is about a week away and I don't know if I grasp the 'first step' in time (and still apply).
pxL
Gremlin
Posts: 158
Joined: Fri Oct 07, 2005 11:48 am
Location: Hilversum, The Netherlands
Contact:

Post by pxL »

Okay im doing some light research in the LOD request, my experience with OGRE is mainly from the outside so this is a chance to go trough the belly of the beast sorta speak :wink:.

That being said could some one give me directions to where the current LOD is being checked before rendering I guess I can take it from there (thanx in advance :)).
User avatar
sinbad
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 19269
Joined: Sun Oct 06, 2002 11:19 pm
Location: Guernsey, Channel Islands
x 66
Contact:

Post by sinbad »

Lodes is correct, you need to do some research yourself to get up to speed at least with the concepts, so you can make some assertions about where you might start and what sorts of ideas you might try. We're not expecting you to have all the answers at the start, but we do expect you to have the initiative to gather enough information that you have some direction - the mentor can then guide you as needed, but you'll need to do the majority of the legwork yourself.

There are 2 types of existing LOD, mesh and material LOD. The decision about what LOD level to use (which is mostly what the project idea is about) is currently organised in the Entity class, meaning that only Entity supports LOD right now, an issue in itself which could benefit from some generalisation. Have a browse through the entity class looking for the aspects that reference LOD and report back your thoughts.
pxL
Gremlin
Posts: 158
Joined: Fri Oct 07, 2005 11:48 am
Location: Hilversum, The Netherlands
Contact:

Post by pxL »

I didn't have a lot of time the past few days, but like you asked me to i'm going to post my thoughts about this, so here it goes :wink:. I'm going to state the obvious here and there but please bare with me.

Just to be clear next to the level of detail issue (ie which level to use) there also seems to be a discussion to add a 'nothing' level of detail in order to improve on performance and in my point of view it would fit into the scope of the assignment.

LOD in Ogre
-------------
Ok let's just begin with the where's and what's.

Ogre::Entity
Keeps track of several LOD settings (updates with the _notifyCamera(cam*)) gets lod settings from mesh and _notifiyCamera from MoveableObject so thats where I looked next.

Ogre::Mesh
Also keeps track of several LOD settings, gets lod settings from .mesh file or manual input.

Ogre::MoveableObject
Generic class for moveableobjects (duh :P), this is also where the rendering distance is checked and set (through setRenderingDistance). Also the _notifyCamera method is not unimportant :wink:.

Other (ie StaticGeometry, Camera)
I've also checked some other classes like staticgeometry and camera. Things like the LODBucket and setLODBias came to mind. But I haven't looked into it that much.

Changes
-------------
Generalisation
In terms of generalisation I would say put the LOD stuff in MoveableObject. Just add a method in what you can switch between distance from camera and size on viewport (like mentioned in the topic in the request). Add an internal method which updates LOD settings to keep the _notifyCamera tidy instead of a big if-else block in there which checks LOD.

Adding 'size on screen' LOD method
This has been discussed and is kinda the point, but it is a change thats why I mention it :).

'Nothing' Level of detail
If the programmer sets the LOD method to 'size on viewport' it would be possible for ogre to determine if a certain object is to small to see and if thats true just don't render it.

Extra Notes
-------------
I still have to look into the material lod, lod bucket but I do have some more direction right now. I hope I'm on the right direction atm, I'm going to make that letter to Google today (Mayb I'll post it later on).

First I have to do some groceries :?.
Post Reply