• Content count

  • Joined

  • Last visited

Community Reputation

105 Neutral

About soconne

  • Rank
  1. Zebra Imaging Holograms

    Just wanted to advertise that the company I work for, Zebra Imaging, has recently made hologram purchases more readily available to everyone. If you have any type of 3D data, we can more than likely make a hologram of it. We have a number of demo videos on YouTube showing our color and monochrome holograms (right now we're only selling monochrome on our online store, but you can request color). Myself along with a number of other software engineers have worked really hard on our internal rendering pipeline and would like to show it off :-) Here's a link to our YouTube channel. [url=""][/url] Here's a link to our online store. In order to create a hologram from your data, you (1) download our "HDT-C" hologram framing utility, (2) import your data and "frame" it, (3) export to a zip file, and finally (4) upload the zip file to our website. When you order a hologram, you get it placed in a frame along with a custom flashlight to properly light it. [url=""][/url] Pricing [url=""][/url] My intention isn't to spam the forum with a commercial product, but we have done some pretty cool stuff with our rendering pipeline and software stack. Just wanting to let more people know that it's available.
  2. You can always easily benchmark this yourself by creating an extreme test example, where you have 100+ FBOs and 100+ shaders.
  3. I've been recently told you are not allowed to redistribute your own compiled version of opengl32.lib on windows platforms. Is this true, and if so, where can I find relevant information stating this? Here is the link to the Visual Studio 2008 Professional licensing agreement, which includes distribution policies on pg 2. [Edited by - soconne on April 12, 2010 5:22:44 PM]
  4. what tablet PC is this?

    Well I want one!
  5. what tablet PC is this?

    Anybody recognize what brand/model this tablet is that Huang is using?
  6. Help! Playing video in OpenGL

    I tend to use OpenCV. Here's the basic code for loading and reading frames of video. CvCapture* video = cvCaptureFromFile("video.avi"); ... IplImage* frame = cvQueryFrame(video); ... cvReleaseCapture(&video);
  7. // Set up FBO glBindFramebuffer(GL_FRAMEBUFFER, fboID); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXSTURE_2D, texID[0], 0); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT1, GL_TEXSTURE_2D, texID[1], 0); // Rendering loop int ping_pong = 0; GLenum attachments[] = {GL_COLOR_ATTACHMENT0, GL_COLOR_ATTACHMENT1}; for (...) { int read = ping_pong % 2; int write = (ping_pong + 1) % 2; ping_pong++; glDrawBuffer(attachments[write]); glBindTexture(GL_TEXTURE_2D, texID[read]); // do rendering }
  9. OpenGL texture mapping

    Here's sample code for DevIL. ILuint image; ilInit(); ilGenImages(1, &image); ilBindImage(image); ilLoadImage("image.jpg"); GLuint texID; glGenTextures(1, &texID); glBindTexture(GL_TEXTURE_2D, texID); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, ilGetInteger(IL_IMAGE_WIDTH), ilGetInteger(IL_IMAGE_HEIGHT), 0, GL_BGR, GL_UNSIGNED_BYTE, ilGetData()); ilDeleteImages(1, &image); I use FreeImage though. Here's sample code for that one. FBITMAP* bitmap = FreeImage_Load(FIF_JPEG, "image.jpg"); GLuint texID; glGenTextures(1, &texID); glBindTexture(GL_TEXTURE_2D, texID); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, FreeImage_GetWidth(bitmap), FreeImage_GetHeight(bitmap), 0, GL_BGR, GL_UNSIGNED_BYTE, FreeImage_GetBits(bitmap)); FreeImage_Unload(bitmap);
  10. What does your rendering code look like? Do you have depth testing disabled? Are you calling glViewport? What does the full code look like when you set up your projection?
  11. Once the mouse is over your object, you need to retrieve the world coordinates at that location. You can use gluUnProject, along with glReadPixels for sampling the depth value, for this. Once you have the world (x,y,z) coordinates, you can (in a background rendering pass) draw a flat quad on the x,z plane at height = y. Then as the mouse moves across the screen, call gluUnProject each frame but this time sampling the world coordinates for the plane, NOT your original object. The plane you draw doesn't have lie in the x,z plane. It just depends along what axis you wish to move your object. But this is how I did it in my software Freeworld3D.
  12. Personally I can't stand using libraries with convoluted naming schemes and hierarchies of namespaces. While a lot of people seem to like the GLM math library, this is one example of what I'm referring to. I really like OpenGL's built in matrix functions and how they're named. glLoadIdentity glMultMatrixf glPerspective I prefer simplicity and class-less libraries.
  13. Also be sure to declare your texture as usampler2D in your shader, not sampler2D.
  14. Clipmaps interior trim question

    Yeah I got it. Thanks.
  15. Clipmaps interior trim question

    Ahh ok. I didn't realize the finest detail only moved in increments of 2. Thanks.