首页 > 其他分享 >OpenGL 视锥体求法

OpenGL 视锥体求法

时间:2023-02-09 10:02:40浏览次数:46  
标签:这个 OpenGL xyz 求法 vec4 w1 x1 锥体



讲的是假设P是空间的一点(x,y,z)写成vec4(x,y,z,1) 最终[-1,1]的时候P2(x1/w1,y1/w1,z1/w1,1) 然后proj*viewModelMatrix之后 第一行是abcd 第四行是efgh 那么a*x+b*y+c*z+d=x1 而w1=e*x+f*y+g*z+h 

x1/w1一个-1 一个1

试试=-1的

x1/w1=-1=>x1+w1=0

ax+ex+by+fy+cz+gz+d+h=0

(a+e)x+(b+f)y+(c+g)z+(d+h)=0 对应AX+BY+CZ+D=0这个形式的平面方程

这个a+e b+f...就是最终矩阵m的第一列加第四列 所以就是vec4 ABCD=m[0]+m[3]

拓展这个求出前后左右上下

文章说这个法向量直接就是指着视锥体中间的,貌似能显示的点xyz乘一通下来xyz都在视锥体内,应该是对的哇

 

标签:这个,OpenGL,xyz,求法,vec4,w1,x1,锥体
From: https://blog.51cto.com/u_11889343/6045854

相关文章

  • Qt与OPenGL的联系--三角形
    1.着色器编译  2.VAO/VBO绑定 ......
  • OpenGL ES 2.0编程指导阅读笔记(六)顶点属性、顶点数组和缓冲对象
    顶点数据,又称顶点属性,给定了每个顶点的数据。这类每个顶点的数据可以每个顶点分别给定,也可以给定一个所有顶点共用的常量。在OpenGLES1.1中,顶点属性名称是预定义的,如po......
  • Python程序来计算锥体的体积和面积
    圆锥体是通过将公共点的无限线段连接到圆形底中的所有点而形成的三维图形。这个共同点也称为顶点。圆锥体使用三个维度进行测量:其圆形底部的半径、高度和横向高度。圆锥体的......
  • 程序:n的阶乘求法
    #include<stdio.h>intmain(){inti=1;intn=0;scanf("%d",&n);intr=1;for(i=1;i<=n;i++){r=i*r;}printf("%d\n",r);return0;}......
  • 【题解】P4482 [BJWC2018]Border 的四种求法
    思路SAM+树剖。好仙的题啊,做了一天。令\(\operatorname{lcs}(i,j)\)表示长度为\(i,j\)的前缀的最长公共后缀长度,则题目中的border可以等价转化成:求最大且满足......
  • Opengl ES之RGB转NV21
    前言在上一篇理论文章中我们介绍了YUV到RGB之间转换的几种公式与一些优化算法,今天我们再来介绍一下RGB到YUV的转换,顺便使用OpenglES做个实践,将一张RGB的图片通过Shader的......
  • Opengl ES之RGB转NV21
    前言在上一篇理论文章中我们介绍了YUV到RGB之间转换的几种公式与一些优化算法,今天我们再来介绍一下RGB到YUV的转换,顺便使用OpenglES做个实践,将一张RGB的图片通过Shader......
  • OpenGL ES 2.0编程指导阅读笔记(二)你好,三角形:OpenGL ES 2.0示例
    本章覆盖以下内容:用EGL创建屏上表面加载顶点和片元着色器创建程序对象,附加顶点和片元着色器,并链接程序对象设置视点清除colorbuffer渲染一个简单图元使colorbuff......
  • OpenGL ES 2.0编程指导阅读笔记(三)EGL介绍
    EGL能够管理绘图表面。EGL提供了以下机制:和本地窗口系统进行通信;查询可用的绘图表面类型和配置;创建绘图表面;在OpenGLES2.0和其他图形渲染API之间同步渲染;管理渲染......
  • 后缀数组 II —— height 数组及其求法
    上集:后缀数组I——后缀排序记\(S_i\)表示以\(i\)为起点的后缀,\(sa_i\)表示对\(s\)进行后缀排序后排名为\(i\)的后缀,\(SA_i\)表示对\(s\)进行后缀排序......