Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 27 Aug 2001
Offline Last Active Oct 29 2013 01:57 PM

Topics I've Started

Genetica Indie Pricing

14 June 2013 - 02:40 PM

Hey just wondering if there is an option for Genetica 4.0 Indie Pricing, specifically the Pro version because of the support for normal map generation is pretty much required. Maybe we can rally enough people to convince them to give us a fair price for indie developers!!!

$400 bucks is way too much.

3D Level Wraparound?

24 April 2009 - 07:10 PM

I'm trying to wrap my head around it. I'm guessing I would be checking the boundaries for the positions of such objects and then having two objects of the same type until it is 100% on one side or the other of the wraparound! Lol I bet that was a mindtwister.... If anyone can recommend a simple, concise implementation for a 3D level wraparound based on defined size of the level for where the wraparound begins... please let me know!!!

Lockless Algorithms for Public

16 March 2007 - 11:55 AM

There is no abundance of information currently on Multithreaded Programming, so I thought I would post a few very useful classes that efficiently use today's multicore / multiprocessor systems on my website. Download the template classes, and pass them around. They have saved my a$$. @ http://www.uamp.ca/

Inverted Projection / Rendertarget Problems

04 January 2007 - 01:29 PM

Ouch this problem is absolutely confusing, and I'm hoping either someone has run into the same problem or can atleast help me out a little bit. Basically we have a render target setup with orthographic projection. D3DXMatrixOrthoLH( &const_cast<D3DXMATRIXA16&>(m_matProjOrthoRTx512), 512, 512, -5000.0f, 5000.0f ); Next Step is Rendering a Terrain Patch Mesh to the The RenderTarget that is of 512x512, the Terrain Patch is 64x64 Vertices, and is scaled to the rendertarget resolution. 64 'x' vertices by 64 'z' vertices where height is represented by 'y'. So the default view of the orthographic projection is looking to into Z, not down onto y like we would typically use for viewing the terrain patch TOP DOWN. D3DXMatrixTranslation(&matModel, 0.0f, 0.0f, 0.0f); D3DXQuaternionRotationYawPitchRoll(&qR, D3DXToRadian(90.0f), D3DXToRadian(0.0f), D3DXToRadian(90.0f)); D3DXMatrixRotationQuaternion(&matRot, &qR); D3DXMatrixScaling(&matScale, RT512/RT64, RT512/RT64, RT512/RT64); D3DXMatrixMultiply(&matModel, &matRot, &matModel); D3DXMatrixMultiply(&matModel, &matScale, &matModel); // Final Model View Projection Matrix // D3DXMatrixMultiply(&matModelViewProj, &matModel, &m_matProjOrthoRTx512); So I made these key points to show that I have to orient the model to compensate for this. The Problem: Its Inverted!!!!! How on earth it is inverted, I'm trying to figure out. It seams like a mirror image of the same terrain patch rendered normally on the main screen. If I orient the "pitch" +-90 degrees, it fixes X from being inverted but Z is still inverted, and vice versa it fixes z from being inverted, but x is still inverted (mirrorred). So this is rather confusing. I've tried D3DXMatrixOrthoLH( &const_cast<D3DXMATRIXA16&>(m_matProjOrthoRTx512), -512, -512, -5000.0f, 5000.0f ); D3DXMatrixOrthoLH( &const_cast<D3DXMATRIXA16&>(m_matProjOrthoRTx512), -512, 512, -5000.0f, 5000.0f ); D3DXMatrixOrthoLH( &const_cast<D3DXMATRIXA16&>(m_matProjOrthoRTx512), 512, -512, -5000.0f, 5000.0f ); No avail, still run into the same roadblock of being able to fix one corner of the patch, but either x xor z is still mirrored. And with several different combinations of 3DXQuaternionRotationYawPitchRoll(&qR, D3DXToRadian(-90.0f), D3DXToRadian(0.0f), D3DXToRadian(90.0f)); 3DXQuaternionRotationYawPitchRoll(&qR, D3DXToRadian(90.0f), D3DXToRadian(0.0f), D3DXToRadian(-90.0f)); 3DXQuaternionRotationYawPitchRoll(&qR, D3DXToRadian(-90.0f), D3DXToRadian(0.0f), D3DXToRadian(-90.0f)); 3DXQuaternionRotationYawPitchRoll(&qR, D3DXToRadian(90.0f), D3DXToRadianD3DXToRadian(-90.0f), D3DXToRadian(90.0f)); Where some of them don't draw the mesh due to the fact that its is looking "under that patch". Help me out, cause I've stared at this problem for far to long.

Abstract World Management, is it trivial?

07 November 2006 - 02:21 PM

To start off, lets say you have a 200km squared world. Various details, a vast landscape, and about a dozen cities and villages inbetween you and your destination. So I already have basic scene management in terms of visibility. An octree that manages all static and dynamic objects that can been seen within the user's viewing frustum. This system manages it in a absolutely beautiful manner, I'm really proud of its outcome. As for my terrain, I can basically define any arbitrary size of Terrain, and each patch will be "streamed in" for when it is visible to leverage a huge vast world, with a reasonable impact to memory usage. So keep in mind this is a seamless world design. So the question of management for visibility has been answered. The question I now have how to manage the updating for n objects in my world. If I base these updates (npc walking around, monsters wandering, etc) on just what the player is able to see, the world beyond what is not visible will be on standby. This is simply not acceptable, yet a nice optimization if it could be leveraged in some manner. I was thinking of defining a sphere of influence that projects around the users character, and interecting sphere's of influence that contain objects would then be updated. So the problem I face now is how to manage all the game objects that need an abritrary update whether they are visible, or not visible. The world is seamless, and REALLY big. How does one accomplish this management and maintain performance? while ( n < nGameObjects, where nGameObjects = 5,000,000,000 ) nGameObjects.update() This doesn't seem practical Or am I overcomplicating the problem, is it more trivial than I think? Anyone with personal experience with this type of problem, or anyone with some insight to a possible solution, I would greatly appreciatte your feedback!! Thank you! -Carandiru http://www.uamp.ca/