[GSoC 2012] Complete the DirectX 11 render system
-
- Google Summer of Code Student
- Posts: 237
- Joined: Mon Apr 02, 2012 11:07 am
- x 42
Re: [GSoC 2012] Complete the DirectX 11 render system
I finished merging zerocomplex's code, task nr.1 and nr.2. I left Unicode support out, will come back to that later if it is necessary. I will show the result of the tests tomorrow. I will also upload my code to my repo tomorrow (probably morning) and will update the projects wiki page.
Google Summer of Code 2013 Student
Topic: "DirectX 11 & Tessellation samples"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
Topic: "DirectX 11 & Tessellation samples"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
-
- OGRE Expert User
- Posts: 847
- Joined: Tue Apr 12, 2005 2:35 pm
- Location: Albacete - Spain
- x 87
Re: [GSoC 2012] Complete the DirectX 11 render system
Great work, waiting to see the test results!
It's pretty cool to see your weekly reports(congrats to all the students!), this year GSOC is being really interesting, even if it's yet in the early stages!
It's pretty cool to see your weekly reports(congrats to all the students!), this year GSOC is being really interesting, even if it's yet in the early stages!
Creator of SkyX, Hydrax and Paradise Sandbox.
Looking for Ogre3D consulting services?
Follow me: @Xavyiy
Looking for Ogre3D consulting services?
Follow me: @Xavyiy
-
- Minaton
- Posts: 921
- Joined: Sat Jul 31, 2010 6:29 pm
- Location: Belgium
- x 80
Re: [GSoC 2012] Complete the DirectX 11 render system
Agreed.
The regular updates and high motivation are a good sign.
Keep up the good work guys!
The regular updates and high motivation are a good sign.
Keep up the good work guys!

Developer @ MakeHuman.org
-
- Google Summer of Code Student
- Posts: 237
- Joined: Mon Apr 02, 2012 11:07 am
- x 42
Re: [GSoC 2012] Complete the DirectX 11 render system
I've got a disturbing error of "/OgreD3D11EngineDll.cpp(37): error C2491: 'Ogre::dllStartPlugin' : definition of dllimport function not allowed" after merging (I haven't made any changes to this file), and I am losing time resolving it. I hope I can put some test results later this day, after I debug this error.
I am also getting a lot of warnings like: "inconsistent dll linkage".
I will upload my code after resolving these issues.
I am also getting a lot of warnings like: "inconsistent dll linkage".
I will upload my code after resolving these issues.
Google Summer of Code 2013 Student
Topic: "DirectX 11 & Tessellation samples"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
Topic: "DirectX 11 & Tessellation samples"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
-
- OGRE Team Member
- Posts: 3092
- Joined: Tue Apr 11, 2006 3:58 pm
- Location: TLV, Israel
- x 76
Re: [GSoC 2012] Complete the DirectX 11 render system
Rebuild all.
Watch out for my OGRE related tweets here.
-
- Google Summer of Code Student
- Posts: 237
- Joined: Mon Apr 02, 2012 11:07 am
- x 42
Re: [GSoC 2012] Complete the DirectX 11 render system
Regenerated everything with CMake and I built again from the regenerated files and it works
. Thanks. 


Google Summer of Code 2013 Student
Topic: "DirectX 11 & Tessellation samples"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
Topic: "DirectX 11 & Tessellation samples"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
-
- Minaton
- Posts: 921
- Joined: Sat Jul 31, 2010 6:29 pm
- Location: Belgium
- x 80
Re: [GSoC 2012] Complete the DirectX 11 render system
make cleanrobert_sasu wrote:Regenerated everything with CMake and I built again from the regenerated files and it works. Thanks.
make
Or the msvc equivalent, might have been enough, maybe.
Developer @ MakeHuman.org
-
- OGRE Team Member
- Posts: 3092
- Joined: Tue Apr 11, 2006 3:58 pm
- Location: TLV, Israel
- x 76
Re: [GSoC 2012] Complete the DirectX 11 render system
he is working on windows... he doesn't use make...
Watch out for my OGRE related tweets here.
-
- Minaton
- Posts: 921
- Joined: Sat Jul 31, 2010 6:29 pm
- Location: Belgium
- x 80
Re: [GSoC 2012] Complete the DirectX 11 render system
Yes that's why I said "or the msvc equivalent".
Which is, after a quick google, indeed simple the "Rebuild" button. Or "Clean" and then "Build".
I just meant that maybe the cmake was not needed.
Which is, after a quick google, indeed simple the "Rebuild" button. Or "Clean" and then "Build".
I just meant that maybe the cmake was not needed.
Developer @ MakeHuman.org
-
- OGRE Team Member
- Posts: 3092
- Joined: Tue Apr 11, 2006 3:58 pm
- Location: TLV, Israel
- x 76
Re: [GSoC 2012] Complete the DirectX 11 render system
Well, if he merged a different source control - better to be on the safe side and cmake - for the case cpp files were added to cmake files - else you will get link errors.
Watch out for my OGRE related tweets here.
-
- Google Summer of Code Student
- Posts: 237
- Joined: Mon Apr 02, 2012 11:07 am
- x 42
Re: [GSoC 2012] Complete the DirectX 11 render system
I need a little more adjusting to the test module for the first two tasks. I will finish them tomorrow morning. I have already pushed the code to my repo.
Tomorrow after I finish the test module I will start planning the tessellation support.
Tomorrow after I finish the test module I will start planning the tessellation support.
Google Summer of Code 2013 Student
Topic: "DirectX 11 & Tessellation samples"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
Topic: "DirectX 11 & Tessellation samples"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
-
- Google Summer of Code Student
- Posts: 237
- Joined: Mon Apr 02, 2012 11:07 am
- x 42
Re: [GSoC 2012] Complete the DirectX 11 render system
We (cherlix and myself) are planning to do a GUI for testing the D3D11 Render System. I had some problems with the first testing module and I need just a little more time for it, but the next one's will be done faster. I will merge my code with cherlix tomorrow and create the testing modules also for that (tasks nr. 8, 9 and 10, some part of it, not complete). I will put all the results after the tests are done for these 5 tasks (1,2,partially (8,9,10)).
In the meantime I started planning the tessellation support for the DirectX 11 Render System, my sources are D3D11 SDK and Think DirectX 11 Tessellation presentation from Gamefest 2010. Here is my first scratch. There are 3 types of possible tesselations: PN Triangles
Detail Tessellation and Bezier with displacement, Subdivision.
I will start with PN Triangles algorithm which is the easiest and it is good for rendering characters, models. The algorithm in major parts:
Detail Tessellation, bump mapping and parallax:
Bezier with Displacement is an extension of Detail Tessellation. Is for complex surface (terrain), correct adaptive tessellation (T junctions). At last will do subdivision for more natural LOD, good performance, great freedom and flexibilities in creation.
In the meantime I started planning the tessellation support for the DirectX 11 Render System, my sources are D3D11 SDK and Think DirectX 11 Tessellation presentation from Gamefest 2010. Here is my first scratch. There are 3 types of possible tesselations: PN Triangles
Detail Tessellation and Bezier with displacement, Subdivision.
I will start with PN Triangles algorithm which is the easiest and it is good for rendering characters, models. The algorithm in major parts:
Code: Select all
Each flat triangle augmented to many subtriangles
Vertices and normal interpolated from base flat triangle
Hull Shader – basis transformation
Hull Shader Constant Function
Calculates control points for both vertex and normal
Output control points except the original 3 verts
Hull Shader
Pass through the original 3 verts
Domain shader
Calculates position and normal by using UV and control points
Optionally do vertex lighting as well
Code: Select all
Break your plane into small grids
Each grid form a tessellation patch, and each patch could have a different
tessellation factor
Calculate density map from height map
Hull shader computes tessellation factor
Hull shader: 3 base vertices pass-through
Hull shader constant function: TessFactor, either from density or distance,
or a combined function of the two
Domain shader computes position of tessellated vertex
Sample height map correctly
Pixel shader does the normal per-pixel shading
Google Summer of Code 2013 Student
Topic: "DirectX 11 & Tessellation samples"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
Topic: "DirectX 11 & Tessellation samples"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
-
- OGRE Team Member
- Posts: 3092
- Joined: Tue Apr 11, 2006 3:58 pm
- Location: TLV, Israel
- x 76
Re: [GSoC 2012] Complete the DirectX 11 render system
What about starting with a much simpler sample, like the "Tessellation Pattern Viewer" on this page: http://developer.nvidia.com/nvidia-grap ... 1-direct3d ?
Watch out for my OGRE related tweets here.
-
- Google Summer of Code Student
- Posts: 237
- Joined: Mon Apr 02, 2012 11:07 am
- x 42
Re: [GSoC 2012] Complete the DirectX 11 render system
OK. It is better for me to start with this sample. I have downloaded the newest NVidia Graphics SDK and read the documentation and started to study the tessellation samples. I am almost done with the first tests, I needed to make some modifications to the code to have propel results. Later this day I will speak with cherlix for more tests and start doing with this first tessellation sample.
I will also update the wiki page by dividing the tessellation feature in more subtasks.
I will also update the wiki page by dividing the tessellation feature in more subtasks.
Google Summer of Code 2013 Student
Topic: "DirectX 11 & Tessellation samples"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
Topic: "DirectX 11 & Tessellation samples"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
-
- OGRE Team Member
- Posts: 3092
- Joined: Tue Apr 11, 2006 3:58 pm
- Location: TLV, Israel
- x 76
Re: [GSoC 2012] Complete the DirectX 11 render system
Good.
Watch out for my OGRE related tweets here.
-
- Gnoblar
- Posts: 11
- Joined: Thu May 12, 2011 10:18 am
Re: [GSoC 2012] Complete the DirectX 11 render system
Hi Robert and Assaf,
I have a question regarding the tessellation work. Do you think you are going to support the PatchMesh you can create with SceneManager::createBezierPatch ? This interface is already present and I think it would be very good to optionally acccelerate it with DirectX 11.
Fabio
I have a question regarding the tessellation work. Do you think you are going to support the PatchMesh you can create with SceneManager::createBezierPatch ? This interface is already present and I think it would be very good to optionally acccelerate it with DirectX 11.
Fabio
-
- OGRE Team Member
- Posts: 3092
- Joined: Tue Apr 11, 2006 3:58 pm
- Location: TLV, Israel
- x 76
Re: [GSoC 2012] Complete the DirectX 11 render system
Nice idea, if we won't make it as part of the summer project - I will do it after the summer project ended.
Watch out for my OGRE related tweets here.
-
- Gnoblar
- Posts: 11
- Joined: Thu May 12, 2011 10:18 am
Re: [GSoC 2012] Complete the DirectX 11 render system
Great! I hope to see your work running in the next Ogre Release!
-
- Google Summer of Code Student
- Posts: 237
- Joined: Mon Apr 02, 2012 11:07 am
- x 42
Re: [GSoC 2012] Complete the DirectX 11 render system
Thanks fabio71! If I will have no time for this on the summer I will continue to work in autumn so as to complete DX11 RS. These ideas are more than welcome
.

Google Summer of Code 2013 Student
Topic: "DirectX 11 & Tessellation samples"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
Topic: "DirectX 11 & Tessellation samples"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
-
- Gnoblar
- Posts: 11
- Joined: Thu May 12, 2011 10:18 am
Re: [GSoC 2012] Complete the DirectX 11 render system
You are welcome robert_sasu. I hope one day to be able to load and render NURBS surfaces made with Rhino without having to convert them to polygon meshes. The SDK to load the 3DM format is free and can be downloaded here: http://www.opennurbs.org/
Probably the Bezier patches aren't enough but I think are the first step in the right direction!
Probably the Bezier patches aren't enough but I think are the first step in the right direction!

-
- Google Summer of Code Student
- Posts: 237
- Joined: Mon Apr 02, 2012 11:07 am
- x 42
Re: [GSoC 2012] Complete the DirectX 11 render system
Nice idea, we will think about it
.
Today I continued to work on Tessellation Pattern Viewer. In a few hours cherlix will push his code to my repo, to a new branch and tomorrow morning will merge it with my work. After that I will run the test modules made so far and hopefully show you the results of merging zerocomplex's and crashym's patches to DX11 render system.

Today I continued to work on Tessellation Pattern Viewer. In a few hours cherlix will push his code to my repo, to a new branch and tomorrow morning will merge it with my work. After that I will run the test modules made so far and hopefully show you the results of merging zerocomplex's and crashym's patches to DX11 render system.
Google Summer of Code 2013 Student
Topic: "DirectX 11 & Tessellation samples"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
Topic: "DirectX 11 & Tessellation samples"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
-
- Google Summer of Code Student
- Posts: 237
- Joined: Mon Apr 02, 2012 11:07 am
- x 42
Re: [GSoC 2012] Complete the DirectX 11 render system
I've got cherlix's work in the morning, after midnight at hour time, so I started merging in the morning. I finished merging his code and pushed it to my repo. I am waiting for him to send the test modulees for MRT and will show the results after I got them.
I have created the major methods for the tessellation feature and worked on the first part, the pattern tessellation, by writing major parts of tessellating triangles and quads.
I've created 2 files OgreD3D11Tessellation.h and OgreD3D11Tessellation.cpp which will contain everything which is about tessellation. I've almost finished the planning of this whole feature (by defining the major methods, variables and algorithms (ideas)).
After the first part is complete we will have methods for tessellating triangles and quads which will be used for further algorithm -> second part PN-Patches (PN-triangles and PN-quads).
I have created the major methods for the tessellation feature and worked on the first part, the pattern tessellation, by writing major parts of tessellating triangles and quads.
I've created 2 files OgreD3D11Tessellation.h and OgreD3D11Tessellation.cpp which will contain everything which is about tessellation. I've almost finished the planning of this whole feature (by defining the major methods, variables and algorithms (ideas)).
After the first part is complete we will have methods for tessellating triangles and quads which will be used for further algorithm -> second part PN-Patches (PN-triangles and PN-quads).
Google Summer of Code 2013 Student
Topic: "DirectX 11 & Tessellation samples"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
Topic: "DirectX 11 & Tessellation samples"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
-
- OGRE Team Member
- Posts: 3092
- Joined: Tue Apr 11, 2006 3:58 pm
- Location: TLV, Israel
- x 76
Re: [GSoC 2012] Complete the DirectX 11 render system
I am looking at your last commit, can you explain this file: Dependencies/ois-v1-3/Win32/DemoFFTest/Debug/vc100.idb
Remember - at the end of the summer we will merge your code the the main OGRE repo - I don't want new junk files to go in...
Even if you delete files - they are still forever in the history - meaning the repo grows.
You are at the beginning of the project - we need to think if we should deal with this issue now, I don't want to deal with it last minute...
Remember - at the end of the summer we will merge your code the the main OGRE repo - I don't want new junk files to go in...
Even if you delete files - they are still forever in the history - meaning the repo grows.
You are at the beginning of the project - we need to think if we should deal with this issue now, I don't want to deal with it last minute...
Watch out for my OGRE related tweets here.
-
- Google Summer of Code Student
- Posts: 237
- Joined: Mon Apr 02, 2012 11:07 am
- x 42
Re: [GSoC 2012] Complete the DirectX 11 render system
Sorry for that, is was my mistake when using hg. I will clean them up, or if I can't then I will make a new repo and push everything there in the right order. (Those files are for my computer, the dependencies for ogre). I will not make any more mistake from now on and will clean those files.
Google Summer of Code 2013 Student
Topic: "DirectX 11 & Tessellation samples"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
Topic: "DirectX 11 & Tessellation samples"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Assaf Raman
-
- OGRE Retired Moderator
- Posts: 20570
- Joined: Thu Jan 22, 2004 10:13 am
- Location: Denmark
- x 179
Re: [GSoC 2012] Complete the DirectX 11 render system
You can 'forget' those files, and add them to an .hgignore file and commit/push again.
It's no problem.
Mercurial is very forgiving.
It's no problem.
Mercurial is very forgiving.

/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.