• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.

polar01

Members
  • Content count

    116
  • Joined

  • Last visited

Community Reputation

114 Neutral

About polar01

  • Rank
    Member
  1. Hi there,   Imagine I have a C++ application, this one generate an image (in C++, CUDA, OpenCL) and then I would like to transfer this image to a specific browser that support WebGL.   The current version of the C++ software simply render into a FBO...   Is it possible to do ? how ?   Thanks for your help
  2. Hi, I m work ing on a OpenCL / Cuda application and for each gpu I generate an image. I would like to create à PBO for each GPU and be sure that each PBO is located on a specific GPU. 1) question 1: how to create à PBO on a specific GPU ? Is it possible ? Once done I would like to merge the PBO (do a simple average of the pixel color) and display them. 2) question 2: how can I merge all the PBOs and display them... What is the best solution ? Using GLSL ? Thanks a lot for your help
  3. Thanks, The whole code is difficult because it contains a mix of Java and C++ ! In reality I use 2 different 3D engine and both produce the same error !!!! Yes, it works with the single buffer ! But of course does not produce the right result ! I have use the Spy++ tools to check the window style and it give me the following style : 0x56000000 I also have the old version of my software (this one work well), and it also have the same style ! I have also do the following test, each time I use GetDC it give me another one (Not sure it is because of OWN_DC) Thanks
  4. Hi, I have an application that was working for a long time and suddenly the SetPixelFormat method failed ! I have search the reason for a long time, but no way, I can't find the reason ! The GetLastError return 2000 (Mean that SetPixelFormat failed !!!) I have a good Video card (gtx 590), but anyway I have the software on a lot of computer and always have the same problem ! What I have notice is the the method failed when I use the following flag : PFD_DOUBLEBUFFER Of course, I need the double buffer ! How can I debug this problem ? I'm searching for a long time and of course it is a critical problem !
  5. Hi, I'm currently working on a 3D editor and we can load very very small models or very very big ones... The problem I have is during display, due to bad zNear and zFar... I got a lot of undesired effects. I have search the web for a solution, but found nothing.... What I would like is to compute the zNear and zFar to use depending of my scene. By example by looking at the scene bounding box and the camera position & camera target... I have try the following, but I can't acheive very good results... if someone can help ? [CODE] float viewportWidth = (float)surface->GetWidth(); float viewportHeight = (float)surface->GetHeight(); glViewport(0, 0, (GLsizei)viewportWidth, (GLsizei)viewportHeight); // Default float aspectRatio = viewportWidth / viewportHeight; //---- Set up the view glMatrixMode(GL_PROJECTION); // Set up the projection glLoadIdentity(); if (!camera) { gluPerspective(45, aspectRatio, 0.1f, 1000.f); return; } // reference : http://www.sjbaker.org/steve/omniv/love_your_z_buffer.html // delta = z * z / ( zNear * (1<<N) - z ) // // Where: // // N = number of bits of Z precision // zNear = distance from eye to near clip plane // z = distance from the eye to the object // delta = the smallest resolvable Z separation at this range. // Also see : http://sightations.wordpress.com/tag/opengl/ //---- Calculate optimal near and far Z clipping planes float sceneRadius; sceneRadius = (camera->GetEye() - camera->GetEyeAt()).Length() * 2.f; // Based on the current target BB // Get buffer properties GLint mDepthBufferResolution = 16; glGetIntegerv(GL_DEPTH_BITS, &mDepthBufferResolution); float zFar = 2.f * sceneRadius + (camera->GetEye() - camera->GetEyeAt()).Length(); if (zFar < 1e-20f) zFar = 1e-20f; float zNear; if (mDepthBufferResolution >= 24) zNear = 0.00001f * zFar; else zNear = 0.01f * zFar; if (zNear < 1e-20f) zNear = 1e-20f; float Zoom = 1.f; VNFilm* film = surface->GetScene()->GetFilm(); if (film && !film->GetAutoSize()) { float filmHeight = (float)film->GetHeight(); Zoom = viewportHeight / filmHeight; } // Reference : http://www.opengl.org/resources/faq/technical/transformations.htm float fov = camera->GetFOV() * 0.5f * (M_PI_F/180.f); float top = tan(fov) * zNear; float bottom = -top; float left = aspectRatio * bottom; float right = aspectRatio * top; glFrustum(Zoom * left, Zoom * right, Zoom * bottom, Zoom * top, zNear, zFar); [/CODE]
  6. Hi, I'm working on a 3D Software where I should be able to display a scene/model with several millions of elements, some models are 100 GB on hard drive. So, I would like to know how softwares like 3DS/Maya/... support this kind of models ? Do they play with a kind of LOD model, out of core system, simplified models etc... ? Do you know all the way to do ? If you know algorithms etc... it is great too :-) Thanks
  7. Thanks, When I will try to zoom on the microprocessor I will not see the mountain correctly, I will got a flipping effect ! And playing with several layers of objects is complex... it is difficult to handle interesection between objects ! :-P Not sur that this problem has a real solution.... ;-)
  8. Thanks a lot, I already re-compute zNear and zFar for each frame depending of the scene, camera etc... but for some extreme scenes (imagine a microprocessor in a mountain) it will not work because the scale between the 2 objects (microprocessor & mountain) are really big !! So, I'm searching for a solution...
  9. Hi, Imagine I have a small object in a big scene, by example a car and a floor (it is just an example). The car has normal dimensions, but the floor is a plane that is 10000 x greater (It can be something more complex than a plane of course). So, if I set the zNear/zFar based on the plan, then the car is not displayed ! So, if I set the zNear/zFar based on the car, then the plane is flickering and is not correctly displayed ! I'm searching for a solution ... so, if someone can help because I have no idea to solve this problem. Thanks
  10. OpenGL

    Hi Rob OpenRL is NOT a standard, it is just a commercial company that use a 'similar' name compared to OpenGL. At first, when you see OpenRL its API looks similar to OpenGL... so it sounds simple, but is it really a good idea ? By example, does a plane has the same device than a car ? :-) You have several others SDK for this.
  11. Does someone has an idea to solve the problem. Far and near plane are important, so they depend of the scene (size of the scene). - I can use the scene bounding box to change/compute the far/near plane ? - Have you experimented this ? There is no side effect ? Thanks
  12. Hi, I currently use the following code to set up my perspective. gluPerspective(45, aspectRatio, 0.1f, 1000.f); The problem is that with large objects, or very small one... I see nothing. If I update the near/far planes... I got precisions problems with the gluUnproject etc... So, can you tell me how you handle this ? Thx
  13. Hi, I'm currently working on a picking algorithm WITHOUT OpenGL ! The algorithm work fine, but I have problem to transform the mouse X,Y into a "3D ray" for the picking. To test, I have try with OpenGL like this (but it doesn't work !!) glMatrixMode(GL_PROJECTION); // Set up the projection glLoadIdentity(); float aspectRatio = ((float)surface->GetWidth()) / surface->GetHeight(); gluPerspective(45, aspectRatio, 0.1f, 10000); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt( camera->GetEye().x, camera->GetEye().y, camera->GetEye().z, camera->GetEyeAt().x, camera->GetEyeAt().y, camera->GetEyeAt().z, camera->GetEyeUp().x, camera->GetEyeUp().y, camera->GetEyeUp().z); double matModel[16]; double matProj[16]; GLint viewport[4]; glGetDoublev(GL_PROJECTION_MATRIX, matProj); glGetDoublev(GL_MODELVIEW_MATRIX, matModel); glGetIntegerv(GL_VIEWPORT, viewport); GLdouble o[3]; GLdouble t[3]; gluUnProject ( x, surface->GetHeight() - y, 0.0, matModel, matProj, viewport, &o[0], &o[1], &o[2]); gluUnProject ( x, surface->GetHeight() - y, 1.0, matModel, matProj, viewport, &t[0], &t[1], &t[2]); out->o.x = o[0]; out->o.y = o[1]; out->o.z = o[2]; out->d.x = t[0] - o[0]; out->d.y = t[1] - o[1]; out->d.z = t[2] - o[2]; out->d = Normalize(out->d); The problem is that I cannot use OpenGL, so I have this code : //--- Get the camera axis VNCamera* camera = surface->GetScene()->GetActiveCamera(); Vector3 eye = camera->GetEye(); Vector3 eyeAt = camera->GetEyeAt(); Vector3 axisz = Normalize(eyeAt - eye); Vector3 axisy = camera->GetEyeUp(); Vector3 axisx = Cross(axisz, axisy); //---- Origin out->o = eye; //---- Direction // Project mouse to space float fx = x; float fy = surface->GetHeight() - 1.f - y; // Normalize to [-1 , 1] fx /= surface->GetHeight(); fy /= surface->GetHeight(); fx -= 0.5f; fy -= 0.5f; fx *= 2; fy *= 2; // Adapt for FOV float fovInRadians = 45.f * (M_PI / 180.0f); fx *= tanf(fovInRadians); // Project the mouse coordinate on the Z-far-plane out->d.x = axisx.x * fx + axisy.x * fy + eyeAt.x; out->d.y = axisx.y * fx + axisy.y * fy + eyeAt.x; out->d.z = axisx.z * fx + axisy.z * fy + eyeAt.x; // Compute the direction out->d = out->d - eye; out->d = Normalize(out->d); out->mint = 0; out->maxt = INFINITY; I'm unable to find the problem with the last code, in order to pick in an OpenGL windows ! So, if you have an idea ? Thx
  14. Both :-( For now, it is normal to have an object with 500.000 faces ! Of course, I can create a BVH on objects, and then another for the set of faces (per object). But it will request a lot of time to build this structure !
  15. Yes, it is my questions :-) Which space subdivision should I use ? BVH KDTree Grid BSP Octree By example BVH or KDTree are very fast (with improved versions like SBVH etc....). But the problem is that I have to create the tree and it has a cost (time) ! and whta happen if I change my geometry, each time I have to rebuild the BVH ! Also, what happend if I have models with millions of triangles ! So, my question is to check if there are better alternatives ?