當前位置: 首頁>>代碼示例>>Java>>正文


Java GL.glGetDoublev方法代碼示例

本文整理匯總了Java中javax.media.opengl.GL.glGetDoublev方法的典型用法代碼示例。如果您正苦於以下問題:Java GL.glGetDoublev方法的具體用法?Java GL.glGetDoublev怎麽用?Java GL.glGetDoublev使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在javax.media.opengl.GL的用法示例。


在下文中一共展示了GL.glGetDoublev方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: getWorldCoordinates

import javax.media.opengl.GL; //導入方法依賴的package包/類
public static Location getWorldCoordinates(GL gl, GLU glu, Location screen, Location store) {
    if (store == null) {
        store = new Location(0,0,0);
    }

    // Modelview matrix
    DoubleBuffer mvBuffer = DoubleBuffer.allocate(16);
    gl.glGetDoublev(GL.GL_MODELVIEW_MATRIX, mvBuffer);
    // Projection_matrix
    DoubleBuffer prBuffer = DoubleBuffer.allocate(16);
    gl.glGetDoublev(GL.GL_PROJECTION_MATRIX, prBuffer);
    // Viewport matrix
    IntBuffer vpBuffer = IntBuffer.allocate(16); // 4 is necessary
    gl.glGetIntegerv(GL.GL_VIEWPORT, vpBuffer);

    // 3d coordinates
    DoubleBuffer result = DoubleBuffer.allocate(3);
    glu.gluUnProject(screen.x,
            screen.y,
            screen.z,
            mvBuffer,
            prBuffer,
            vpBuffer,
            result);

    store = new Location(result.get(0), result.get(1), result.get(2));

    return store;
}
 
開發者ID:kefik,項目名稱:Pogamut3,代碼行數:30,代碼來源:GLTools.java

示例2: getScreenCoordinates

import javax.media.opengl.GL; //導入方法依賴的package包/類
public static Location getScreenCoordinates(GL gl, GLU glu, Location worldPosition, Location store) {
    if (store == null) {
        store = new Location(0,0,0);
    }

    // Modelview matrix
    DoubleBuffer mvBuffer = DoubleBuffer.allocate(16);
    gl.glGetDoublev(GL.GL_MODELVIEW_MATRIX, mvBuffer);
    // Projection_matrix
    DoubleBuffer prBuffer = DoubleBuffer.allocate(16);
    gl.glGetDoublev(GL.GL_PROJECTION_MATRIX, prBuffer);
    // Viewport matrix
    IntBuffer vpBuffer = IntBuffer.allocate(16);
    gl.glGetIntegerv(GL.GL_VIEWPORT, vpBuffer);

    DoubleBuffer result = DoubleBuffer.allocate(3);

    glu.gluProject(worldPosition.x,
            worldPosition.y,
            worldPosition.z,
            mvBuffer,
            prBuffer,
            vpBuffer,
            result);

    store = new Location(result.get(0), result.get(1), result.get(2));
    
    return store;
}
 
開發者ID:kefik,項目名稱:Pogamut3,代碼行數:30,代碼來源:GLTools.java


注:本文中的javax.media.opengl.GL.glGetDoublev方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。