picking

reverse perspective projection

I'm using worldview_inverse * (projection_inverse * vector) to transform screen space coordinates into world space coordinates. I assumed that (x,y,1,1) would transform to a point on the far plane, while (x,y,-1,1) transforms to a point on the near plane, and connecting the line I can query all objects in the view frustum that ...

OpenGL Picking with Pyglet

I'm trying to implement picking using Pyglet's OpenGL wrapper, but I'm having trouble converting a C tutorial to Python. Specifically the part below. #define BUFSIZE 512 GLuint selectBuf[BUFSIZE] void startPicking(int cursorX, int cursorY) { GLint viewport[4]; glSelectBuffer(BUFSIZE,selectBuf); glRenderMode(GL_SELECT); ...

iphone 3gs how to get first image from picking video

Hello i tray to take fist image from selected video in UIImagePickerController for show in UIImageView, but i do not know it's possible? if it is, how? Thanks ...

OpenGL 3D Selection Question

I am trying to create a 3D robot that should perform certain actions when certain body parts are clicked. I have successfully (sort of) implemented picking in that if you click on any x-plane part, it registers a hit, but not anywhere else. That is, it is not registering depth, and if you clicked on it's square head, you could only regis...

Picking in java 2d

I am using java2d to draw a simple graph at the moment I have implemented picking by calling contains(MousePoint) for each object/shape, this works but scales linearly. Is there a more efficient method for picking in java2d? ...

Implementing Ray Picking

I have a renderer using directx and openGL, and a 3d scene. The viewport and the window are of the same dimensions. How do I implement picking given mouse coordinates x and y in a platform independent way? ...

Picking with OpenGL Shading Language

I'm trying to figure out the best way to pick informations rendered using shaders. A window manager buffer (the window) is used for outputting rendering. On user event I should pick the geometry rendered. Using gluPick is easy, but I'm trying to pick using only shaders. Flexibility of shaders doesn'y aid me to find a correct solution. I...

glPushName + glPopName stack overflow and underflow

Can anybody please explain me how to use glPushName and glPopName. I like to use them instead of glLoadName, but I laways get GL_STACK_OVERFLOW and GL_STACK_UNDERFLOW errors. (First, under then overflow). Example code would help me too. Thanks for any advice. Note #1: My Rendering/selection_rednering code consists of multiple glBegin(...

How do you determine when an object is drawn on-screen in OpenGL?

I'm extremely new to OpenGL. I'm writing a program that displays flying 3D text on screen. I need to know when certain text string appears (drawn) onto the screen and are visible to the user. The program needs to identify which text strings are displayed. (Note: although my problem deals with text, it could be generalized to any OpenGL o...

Picking objects in OpenGl ,using C#

Hi folks : i'm working with opengl using C#(using TaoFrame work ) ,the thing is that i want to draw 2 objects on screen (rectangle for example ),the main goal of my Question is, how to press the mouse button so i can select one object to make it move . Basically i just need to know how to select one object that's all : Info about ...

OpenGL ES color picking on the iPhone

I'm looking into 3D on the iPhone, I have managed to get a 3D cube on the device but would like to add interactivity such as touching one face fires a specific event and an other face a different event. I'd rather steer clear of ray picking as this adds extra complexity that I do not want in my app. I've read up on quite a few color pic...

Color picking on android - glReadPixels rounding errors

I am using color picking in opengl es on android and i am calculating a color key to compare it to the values i get from glReadPixels: ByteBuffer PixelBuffer = ByteBuffer.allocateDirect(4); PixelBuffer.order(ByteOrder.nativeOrder()); gl.glReadPixels(x, y, 1, 1, GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, PixelBuffer); byte b[] = new byte[4]; P...