zoukankan      html  css  js  c++  java
  • gluPickMatrix和glReadPixels

    gluPickMatrix的使用
    2008年12月03日 星期三 23:40
    void gluPickMatrix(GLdouble x,GLdouble y,GLdouble width,GLdouble height,GLint viewport[4]);

    它是用来根据当前鼠标选择区域生成一个相应的投影矩阵的。这里面头两个参数不是这个选择区域的左上角位置,而是整个区域的中心位置。如果错把它当成左上角,选择的区域就会斜向上有个偏移。OpenGL红宝书上没有区域选择的例子,只有一个通过鼠标点击选择的程序,因而没有说明这个问题。

    同样,在颜色编码拾取的时候,要通过glReadPixel这个函数读取当前在back buffer中的颜色信息:

    void glReadPixels(GLint x,GLint y,GLsizei width,GLsizei height,GLenum format,GLenum type,GLvoid *pixels);

    这里面的y实际上是整个区域的左下角位置,通常也很容易被人当成是左上角。另外,这些函数的纵坐标和OpenGL环境中的纵坐标是相反的,需要进行翻折。

  • 相关阅读:
    Linux基础命令(二)
    Linux基础命令(一)
    安装Centos 7操作系统
    网络基础之网络协议
    操作系统简介
    计算机硬件知识
    VS快捷键
    VB.NET 编程元素支持更改总结
    VB.Net中确认退出对话框的实现
    VB定义变量
  • 原文地址:https://www.cnblogs.com/frustrate2/p/2643490.html
Copyright © 2011-2022 走看看