- Viewing Profile: Reputation: Martin Perry
Awesome job so far everyone! Please give us your feedback on how our article efforts are going. We still need more finished articles for our May contest theme: Remake the Classics
Community Stats
- Group Members
- Active Posts 48
- Profile Views 1,472
- Member Title Member
- Age Age Unknown
- Birthday Birthday Unknown
-
Gender
Male
-
Location
Czech Republic
188
Neutral
User Tools
Contacts
Martin Perry hasn't added any contacts yet.
Latest Visitors
#4958830 PhysX tutorials
Posted by Martin Perry
on 13 July 2012 - 10:06 AM
I found PhysX 3.x related simple tutorial: http://mmmovania.blogspot.cz/2011/05/simple-bouncing-box-physx3.html .. if it helps someone
#4956680 PhysX tutorials
Posted by Martin Perry
on 07 July 2012 - 11:38 AM
I started with PhysX 3.x month ago.. documentation a getting started document are perfect, but its not tutorial in a way "lets do this". Tutorial would be better... but I looked and found nothing. For some purposes, 2.8 tutorial can be used... but SDK has changed significantly since.
Some useful links (but for PhysX 2.x)
http://www.physxforq...hysX_Actors.htm
Second problem for me are samples, that are very poor compred with eg. graphics samples provided by NVidia or Microsoft.
Anyway.. before PhysX i tried Bullet (the worst API i have ever seen... no doc, no comments in code... ) and ODE... PhysX is the best for me from those APIs.
Some useful links (but for PhysX 2.x)
http://www.physxforq...hysX_Actors.htm
Second problem for me are samples, that are very poor compred with eg. graphics samples provided by NVidia or Microsoft.
Anyway.. before PhysX i tried Bullet (the worst API i have ever seen... no doc, no comments in code... ) and ODE... PhysX is the best for me from those APIs.
#4956461 LOD Terrain - Indices management
Posted by Martin Perry
on 06 July 2012 - 02:43 PM
I am using Quad based LOD... Drawing every block independently....merging it into one VB / IB is waste of time and it will be probably slower than multiple draw-calls.
I have had stitching done, so it looks like this


All is done by only working with IB. Can stitch any LOD quality on any other. Stitsching is computed every time scene changed, for discarding invisible (or out of frustrum blocks) is used quad-tree. Works fine, but for large terrain its not quite good in performance and calculating stitsching in real-time slow thing down... precalculation could be solution, but than it wouldn´t be so universal (conect every LOD on any other... and fro your 12 qualities even impossible).
So I switch to skirts, which are far better. I even have geo-morphing with that and everything looks fine. Basicly speaking.. stitching really disapoint me
in way of "quality vs. spend time and performance"
I have had stitching done, so it looks like this


All is done by only working with IB. Can stitch any LOD quality on any other. Stitsching is computed every time scene changed, for discarding invisible (or out of frustrum blocks) is used quad-tree. Works fine, but for large terrain its not quite good in performance and calculating stitsching in real-time slow thing down... precalculation could be solution, but than it wouldn´t be so universal (conect every LOD on any other... and fro your 12 qualities even impossible).
So I switch to skirts, which are far better. I even have geo-morphing with that and everything looks fine. Basicly speaking.. stitching really disapoint me
#4955910 LOD Terrain - Indices management
Posted by Martin Perry
on 05 July 2012 - 03:50 AM
I tried to do stitching once... but i figured out, that skirts are better, faster and easier... thats for start 
Now...why you need to remove duplicated vertices ? I would just send all vertices in one VB and not to bother change this VB... he will be sitting on GPU all the time unchanged. Than you will be changing only IB, which is faster and more elegant.
I have created 1 IB for every block and every LOD of this block ... gives me lot of IB... when rendering, i simply switching IB and render parts of terrain with different LOD.
Set VB
Render block 1 (IB_Lod0)
Render block 2 (IB_Lod1)
If you wan to spare switching buffers, you can generate new one and send new one every time when LOD displacement changes. Depends on your terrain size, but due to my tests and results for terrain above 512x512 it starts to be rendering brake.
Now...why you need to remove duplicated vertices ? I would just send all vertices in one VB and not to bother change this VB... he will be sitting on GPU all the time unchanged. Than you will be changing only IB, which is faster and more elegant.
I have created 1 IB for every block and every LOD of this block ... gives me lot of IB... when rendering, i simply switching IB and render parts of terrain with different LOD.
Set VB
Render block 1 (IB_Lod0)
Render block 2 (IB_Lod1)
If you wan to spare switching buffers, you can generate new one and send new one every time when LOD displacement changes. Depends on your terrain size, but due to my tests and results for terrain above 512x512 it starts to be rendering brake.
#4954804 DirectX Render to Texture problem
Posted by Martin Perry
on 02 July 2012 - 12:53 AM
Do you have correct TEXCOORDs ? Also try to turn off DepthBuffer and DepthWrites.
I am setting my full screen quad this way:
I am setting my full screen quad this way:
float startX = -1;
float startY = -1;
float endX = 1;
float endY = 1;
MyMath::Vector3 vecA = MyMath::Vector3(startX, startY, 0);
MyMath::Vector3 vecB = MyMath::Vector3(endX , startY, 0);
MyMath::Vector3 vecC = MyMath::Vector3(startX, endY, 0);
MyMath::Vector3 vecD = MyMath::Vector3(endX , endY, 0);
std::vector<QuadVertex> pos;
QuadVertex a = {vecA.X, vecA.Y, vecA.Z, 0, 1, 0};
QuadVertex b = {vecB.X, vecB.Y, vecB.Z, 1, 1, 1};
QuadVertex c = {vecC.X, vecC.Y, vecC.Z, 0, 0, 3};
QuadVertex d = {vecD.X, vecD.Y, vecD.Z, 1, 0, 2};
std::vector<short> ind;
ind.push_back(0); ind.push_back(1); ind.push_back(2);
ind.push_back(2); ind.push_back(1); ind.push_back(3);
#4923953 [Solved] C++ timer library and Compute Shaders
Posted by Martin Perry
on 21 March 2012 - 09:22 AM
OK.. I solved it.. I used DX Query profiling...
- Home
- » Viewing Profile: Reputation: Martin Perry

Find content