专利名称:一种3d渲染系统中透明物体的渲染顺序获取方法及系统的制作方法
技术领域:
本发明属于3D渲染技术领域,尤其涉及一种3D渲染系统中透明物体的渲染顺序获取方法及系统。
背景技术:
在3D渲染系统里,对透明物体的描画是一个重要步骤。由于透明物体的特殊性,它需要在渲染的同时显示一部分的背景,这样就导致它不能使用图形系统的深度缓冲区来自动排序。目前,现有的一些排序算法往往是通过计算物体中点位置与摄像机位置的距离,然后以此进行排序。然而,这种排序在简单场景中可以很好的发挥作用,但在复杂的场景中却存在物体之间的遮挡问题,如附图I所示,箭头方向表示摄像机Camera的视线方向,摄像机Camera距离物体I中点的距离dl比距离物体2中点的距离dl更小,所以按照上面的排序方式,并基于先画远处物体后画近处物体的理论,则认为物体2是远处的物体,必须先画物体2,物体I是近处的物体,需要后画物体I,这样后画的物体I会遮挡住先画的物体2,但是实际情况下,物体2却比物体I更接近我们,应该是先画物体I再画物体2,物体2遮挡住物体I。
发明内容
本发明实施例的目的在于提供一种3D渲染系统中透明物体的渲染顺序获取方法及系统,旨在解决由于利用现有的渲染顺序获取方法对多个透明物体进行排序时,存在排序易错误、物体间相互遮挡,导致对透明物体绘制渲染出错的问题。本发明实施例是这样实现的,一种3D渲染系统中透明物体的渲染顺序获取方法,所述方法包括下述步骤根据空间坐标系下预设的相机位置参数,构造对应在3D渲染系统中的视觉坐标系;获取将所述空间坐标系转换为所述视觉坐标系的转换矩阵;根据所述转换矩阵,将每一透明物体在所述空间坐标系下的空间位置坐标对应转换为所述视觉坐标系中的视觉坐标;根据所述每一透明物体的视觉坐标,获取所有透明物体的渲染顺序,以根据所述渲染顺序对所述透明物体进行渲染。本发明实施例的另一目的在于提供一种3D渲染系统中透明物体的渲染顺序获取系统,所述系统包括坐标系构造单元,用于根据空间坐标系下预设的相机位置参数,构造对应在3D渲染系统中的视觉坐标系;转换矩阵获取单元,用于获取将所述空间坐标系转换为所述视觉坐标系的转换矩阵;视觉坐标获取单元,用于根据所述转换矩阵,将每一透明物体在所述空间坐标系下的空间位置坐标对应转换为所述视觉坐标系中的视觉坐标;以及渲染顺序获取单元,用于根据所述每一透明物体的视觉坐标,获取所有透明物体的渲染顺序;渲染单元,用于根据所述渲染顺序对所述透明物体进行渲染。本发明实施例通过根据空间坐标系下预设的相机位置参数,构造对应在3D渲染系统中的视觉坐标系,并获取将该空间坐标系转换为该视觉坐标系的转换矩阵,进一步根据该转换矩阵,将每一透明物体在该空间坐标系下的空间位置坐标对应转换为该视觉坐标系中的视觉坐标,根据该每一透明物体的视觉坐标,获取所有透明物体的渲染顺序,从而在 对多个透明物体进行绘制渲染时,达到了能够消除多个物体间的遮挡影响,保证能够按照正确排序对透明物体进行正确绘制渲染的目的。
图I是本发明背景技术提供的3D渲染系统中透明物体的场景图;图2是本发明第一实施例提供的3D渲染系统中透明物体的渲染顺序获取方法的实现流程图;图3是图2中所述相机的不同偏转方向的示意图;图4是图2中所述视觉坐标系中不同方向向量的示意图;图5是图2中所述3D渲染系统中多个透明物体位置的场景图;图6是本发明第二实施例提供的3D渲染系统中透明物体的渲染顺序获取系统的结构图;图7是图6中的坐标系构造单元的具体结构图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明实施例通过空间坐标系下预设的相机位置参数,构造对应在3D渲染系统中的视觉坐标系以及获取将该空间坐标系转换为该视觉坐标系的转换矩阵,根据该转换矩阵,将每一透明物体在该空间坐标系下的空间位置坐标对应转换为该视觉坐标系中的视觉坐标,从而能够根据该每一透明物体的视觉坐标,正确地获取所有透明物体的渲染顺序,以使得在对3D透明物体渲染时,该透明物体得到正确的绘制渲染,增强了 3D场景中透明物体的3D效果。以下结合具体实施例对本发明的具体实现进行详细描述实施例一:图2示出了本发明第一实施例提供的3D渲染系统中透明物体的渲染顺序获取方法的实现流程,详述如下在步骤S201中,根据空间坐标系下预设的相机位置参数,构造对应在3D渲染系统中的视觉坐标系。其中,该空间坐标系下预设的相机位置参数包括该相机的空间位置坐标向量^、该相机的正上方参考坐标向量wp、被该相机观察的目标的空间位置坐标向量Iookat。在本发明实施例中,定义视觉坐标系的高纬度为三维坐标系中的Z轴方向的向量,视觉坐标系的长纬度为三维坐标系中的X轴方向的向量,视觉坐标系的宽纬度为三维坐标系中的Y轴方向的向量。
该步骤S201具体包括根据预设的相机的空间位置坐标向量eye以及被该相机观察的目标的空间位置坐标向量^^ ,获取视觉坐标系的高维度# ;根据预设的该相机的正上方参考坐标向量$以及该高维度及,获取该视觉坐标系的长维度斤;根据该高维度及以及该长维度P ,获取该视觉坐标系的宽维度F ;分别将该高维度及、该长维度斤以及该宽维度进行归一化处理后,分别记为η, //和 V ;根据归一化处理后的该高维度;;、该长维度以及该宽维度 ,创建该视觉坐标系。在具体实施过程中,首先在空间坐标系下(相当于现实世界中的三维空间坐标系),定义Camera视锥体的三维空间位置信息,设置相机的空间位置坐标向量为eye , t匕如$= ( 0,0,-200 );设置被该相机观察的目标的空间位置坐标,以被观察的目标为人为例,设置该人的空间位置坐标向量为,且/οο&α 也反映了相机的朝向向量信息,比如Iookat= ( 0,0,0 );在该空间坐标系下,设置wp为该相机的正上方参考坐标向量,也即反映了该相机的正上方的向量信息,比如Mp= ( 0,1,0 ),该Mp会影响视觉坐标系的长维度P和宽维度的生成,因为以后求出的P向量会在¥和高维度及向量所决定的平面上,所以可以通过该Mp向量让相机产生不同的偏转,如图3所示。在视觉坐标系(相当于3D渲染系统中虚拟的三维空间坐标系)中,定义该视觉坐标系的长维度P、宽维度P以及高纬度#,其中,P表示相机的右方,也代表视觉坐标系的X方向;厂表不相机的上方,也代表视觉坐标系的Y方向;#表不相机的后方,也代表视觉坐标系的Z方向;而该相机则处于视觉坐标系的原点,即对应空间坐标系中eye的位置。此时就可以以上述eye、Iookat、wp的信息等,构造3D渲染系统中的视觉坐标系。具体地,如图4本发明实施例中提供的视觉坐标系中不同方向向量的示意图。在预先定义了eje、Iookat、wp等相机位置参数之后,则可以获取高讳度即获取了视觉坐标系的Z轴方向向量,也即用目标人的位置减去相机的位置;进一步可以获取长维度G= X X ”表示向量的叉乘,即获取了视觉坐标系的X轴方向向量,如果不希望相机产生偏转,一般取Mp =(0,1, O),则P表不垂直于wp和i两个向量构建平面的法向量;使用#和己的叉乘可以计算出向量P N X斤,即视觉坐标系下的Y轴方向向量。最后将计算出具有两两正交的, F和TV进彳丁归一化后,分别对应μ , V1和其中,U = (ux,uy,uz) ,V = (vx,vy,vz) ,η = (nx,ny,nz),则该^,[和:就构成了相机的视觉坐标系。在步骤S202中,获取将该空间坐标系转换为该视觉坐标系的转换矩阵。
该步骤S202具体为根据该归一化处理后的该高维度;;、该长维度以及该宽维度V ,结合该预设的相机的空间位置坐标向量& ,获取将该空间坐标系转换为该视觉坐标系的转换矩阵。其中,该转换矩阵为4行4列的矩阵。在具体实施过程中,在获取对应在3D渲染系统中的视觉坐标系uvn后,则根据将现实世界的空间坐标转换到3D虚拟世界的视觉坐标的转换原理,可以得出转换矩阵Τ,
、Uy U, d:
T= y J,其中,μ , , X (~----表示向量的点乘。
权利要求
1.一种3D渲染系统中透明物体的渲染顺序获取方法,其特征在于,所述方法包括下述步骤
2.如权利要求I所述的方法,其特征在于,所述空间坐标系下预设的相机位置参数包括所述相机的空间位置坐标向量、所述相机的正上方参考坐标向量wp、被所述相机观察的目标的空间位置坐标向S-Iookat。
3.如权利要求2所述的方法,其特征在于,所述根据空间坐标系下预设的相机位置参数,构造对应在3D渲染系统中的视觉坐标系的步骤具体包括 根据预设的相机的空间位置坐标向量以及被所述相机观察的目标的空间位置坐标向量/oo“ ,获取对应在3D渲染系统中的视觉坐标系的高维度P ; 根据预设的所述相机的正上方参考坐标向量^以及所述高维度P ,获取所述视觉坐标系的长维度^; 根据所述高维度#以及所述长维度P ,获取所述视觉坐标系的宽维度F ; 分别将所述高维度P、所述长维度斤以及所述宽维度P进行归一化处理后,分别记为η, //和 V ; 根据归一化处理后的所述高维度卩、所述长维度以及所述宽维度 ,创建所述视觉坐标系O
4.如权利要求3所述的方法,其特征在于,所述获取将所述空间坐标系转换为所述视觉坐标系的转换矩阵的步骤具体为 根据所述归一化处理后的所述高维度;;、所述长维度以及所述宽维度;;,结合所述预设的相机的空间位置坐标向量获取将所述空间坐标系转换为所述视觉坐标系的转换矩阵。
5.如权利要求4所述的方法,其特征在于,所述转换矩阵为矩阵
6.如权利要求I所述的方法,其特征在于,所述将每一透明物体在所述空间坐标系下的空间位置坐标对应转换为所述视觉坐标系中的视觉坐标的步骤具体包括 将每一透明物体在所述空间坐标系下的空间位置坐标处理为4行I列的空间矩阵; 将所述转换矩阵与所述空间矩阵进行矩阵点乘操作,获取所述每一透明物体的视觉坐标。
7.如权利要求6所述的方法,其特征在于,所述根据所述每一透明物体的视觉坐标,获取所有透明物体的渲染顺序的步骤具体包括 获取所述每一透明物体的视觉坐标中Z轴方向的坐标值; 对所有透明物体的视觉坐标中Z轴方向的坐标值进行排序; 根据排序顺序,获取所述透明物体的渲染顺序。
8.—种3D渲染系统中透明物体的渲染顺序获取系统,其特征在于,所述系统包括 坐标系构造单元,用于根据空间坐标系下预设的相机位置参数,构造对应在3D渲染系统中的视觉坐标系; 转换矩阵获取单元,用于获取将所述空间坐标系转换为所述视觉坐标系的转换矩阵;视觉坐标获取单元,用于根据所述转换矩阵,将每一透明物体在所述空间坐标系下的空间位置坐标对应转换为所述视觉坐标系中的视觉坐标;以及 渲染顺序获取单元,用于根据所述每一透明物体的视觉坐标,获取所有透明物体的渲染顺序; 渲染单元,用于根据所述渲染顺序对所述透明物体进行渲染。
9.如权利要求8所述的系统,其特征在于,所述坐标系构造单元具体包括 高维度获取单元,用于根据预设的相机的空间位置坐标向量以及被所述相机观察的目标的空间位置坐标向量,获取对应在3D渲染系统中的视觉坐标系的高维度; 长维度获取单元,用于根据预设的所述相机的正上方参考坐标向量以及所述高维度,获取所述视觉坐标系的长维度; 宽维度获取单元,用于根据所述高维度以及所述长维度,获取所述视觉坐标系的宽维度; 归一化单元,用于分别将所述高维度、所述长维度以及所述宽维度进行归一化处理;以及 坐标系构造子单元,用于根据归一化处理后的所述高维度、所述长维度以及所述宽维度,创建所述视觉坐标系。
10.如权利要求9所述的系统,其特征在于,所述转换矩阵获取单元具体用于根据所述归一化处理后的所述高维度、所述长维度以及所述宽维度,结合所述预设的相机的空间位置坐标向量,获取将所述空间坐标系转换为所述视觉坐标系的转换矩阵。
11.如权利要求8所述的系统,其特征在于,所述视觉坐标获取单元具体包括 坐标处理单元,用于将每一透明物体在所述空间坐标系下的空间位置坐标处理为4行I列的空间矩阵;以及 视觉坐标获取子单元,用于将所述转换矩阵与所述空间矩阵进行矩阵点乘操作,获取所述每一透明物体的视觉坐标。
全文摘要
本发明适用于3D渲染技术领域,提供了一种3D渲染系统中透明物体的渲染顺序获取方法及系统,所述方法包括下述步骤根据空间坐标系下预设的相机位置参数,构造对应在3D渲染系统中的视觉坐标系;获取将该空间坐标系转换为该视觉坐标系的转换矩阵;根据该转换矩阵,将每一透明物体在该空间坐标系下的空间位置坐标对应转换为该视觉坐标系中的视觉坐标;根据该每一透明物体的视觉坐标,获取所有透明物体的渲染顺序,以根据该渲染顺序对该透明物体进行渲染。本发明使得在对3D场景渲染时,能够根据正确的顺序对该3D透明物体进行正确的绘制渲染,也增强了3D场景中透明物体的3D效果。
文档编号G06T15/20GK102646284SQ20121010576
公开日2012年8月22日 申请日期2012年4月11日 优先权日2012年4月11日
发明者卢伟超, 张波, 张颖, 李星, 赵智宝 申请人:Tcl集团股份有限公司