CN102646284A - 一种3d渲染系统中透明物体的渲染顺序获取方法及系统 - Google Patents

一种3d渲染系统中透明物体的渲染顺序获取方法及系统 Download PDF

Info

Publication number
CN102646284A
CN102646284A CN2012101057648A CN201210105764A CN102646284A CN 102646284 A CN102646284 A CN 102646284A CN 2012101057648 A CN2012101057648 A CN 2012101057648A CN 201210105764 A CN201210105764 A CN 201210105764A CN 102646284 A CN102646284 A CN 102646284A
Authority
CN
China
Prior art keywords
coordinate system
visual
rendering
msub
mover
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2012101057648A
Other languages
English (en)
Inventor
卢伟超
张颖
赵智宝
李星
张波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TCL Corp
Original Assignee
TCL Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by TCL Corp filed Critical TCL Corp
Priority to CN2012101057648A priority Critical patent/CN102646284A/zh
Publication of CN102646284A publication Critical patent/CN102646284A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明适用于3D渲染技术领域,提供了一种3D渲染系统中透明物体的渲染顺序获取方法及系统,所述方法包括下述步骤:根据空间坐标系下预设的相机位置参数,构造对应在3D渲染系统中的视觉坐标系;获取将该空间坐标系转换为该视觉坐标系的转换矩阵;根据该转换矩阵,将每一透明物体在该空间坐标系下的空间位置坐标对应转换为该视觉坐标系中的视觉坐标;根据该每一透明物体的视觉坐标,获取所有透明物体的渲染顺序,以根据该渲染顺序对该透明物体进行渲染。本发明使得在对3D场景渲染时,能够根据正确的顺序对该3D透明物体进行正确的绘制渲染,也增强了3D场景中透明物体的3D效果。

Description

一种3D渲染系统中透明物体的渲染顺序获取方法及系统
技术领域
本发明属于3D渲染技术领域,尤其涉及一种3D渲染系统中透明物体的渲染顺序获取方法及系统。
背景技术
在3D渲染系统里,对透明物体的描画是一个重要步骤。由于透明物体的特殊性,它需要在渲染的同时显示一部分的背景,这样就导致它不能使用图形系统的深度缓冲区来自动排序。目前,现有的一些排序算法往往是通过计算物体中点位置与摄像机位置的距离,然后以此进行排序。然而,这种排序在简单场景中可以很好的发挥作用,但在复杂的场景中却存在物体之间的遮挡问题,如附图1所示,箭头方向表示摄像机Camera的视线方向,摄像机Camera距离物体1中点的距离d1比距离物体2中点的距离d1更小,所以按照上面的排序方式,并基于先画远处物体后画近处物体的理论,则认为物体2是远处的物体,必须先画物体2,物体1是近处的物体,需要后画物体1,这样后画的物体1会遮挡住先画的物体2,但是实际情况下,物体2却比物体1更接近我们,应该是先画物体1再画物体2,物体2遮挡住物体1。
发明内容
本发明实施例的目的在于提供一种3D渲染系统中透明物体的渲染顺序获取方法及系统,旨在解决由于利用现有的渲染顺序获取方法对多个透明物体进行排序时,存在排序易错误、物体间相互遮挡,导致对透明物体绘制渲染出错的问题。
本发明实施例是这样实现的,一种3D渲染系统中透明物体的渲染顺序获取方法,所述方法包括下述步骤:
根据空间坐标系下预设的相机位置参数,构造对应在3D渲染系统中的视觉坐标系;
获取将所述空间坐标系转换为所述视觉坐标系的转换矩阵;
根据所述转换矩阵,将每一透明物体在所述空间坐标系下的空间位置坐标对应转换为所述视觉坐标系中的视觉坐标;
根据所述每一透明物体的视觉坐标,获取所有透明物体的渲染顺序,以根据所述渲染顺序对所述透明物体进行渲染。
本发明实施例的另一目的在于提供一种3D渲染系统中透明物体的渲染顺序获取系统,所述系统包括:
坐标系构造单元,用于根据空间坐标系下预设的相机位置参数,构造对应在3D渲染系统中的视觉坐标系;
转换矩阵获取单元,用于获取将所述空间坐标系转换为所述视觉坐标系的转换矩阵;
视觉坐标获取单元,用于根据所述转换矩阵,将每一透明物体在所述空间坐标系下的空间位置坐标对应转换为所述视觉坐标系中的视觉坐标;以及
渲染顺序获取单元,用于根据所述每一透明物体的视觉坐标,获取所有透明物体的渲染顺序;
渲染单元,用于根据所述渲染顺序对所述透明物体进行渲染。
本发明实施例通过根据空间坐标系下预设的相机位置参数,构造对应在3D渲染系统中的视觉坐标系,并获取将该空间坐标系转换为该视觉坐标系的转换矩阵,进一步根据该转换矩阵,将每一透明物体在该空间坐标系下的空间位置坐标对应转换为该视觉坐标系中的视觉坐标,根据该每一透明物体的视觉坐标,获取所有透明物体的渲染顺序,从而在对多个透明物体进行绘制渲染时,达到了能够消除多个物体间的遮挡影响,保证能够按照正确排序对透明物体进行正确绘制渲染的目的。
附图说明
图1是本发明背景技术提供的3D渲染系统中透明物体的场景图;
图2是本发明第一实施例提供的3D渲染系统中透明物体的渲染顺序获取方法的实现流程图;
图3是图2中所述相机的不同偏转方向的示意图;
图4是图2中所述视觉坐标系中不同方向向量的示意图;
图5是图2中所述3D渲染系统中多个透明物体位置的场景图;
图6是本发明第二实施例提供的3D渲染系统中透明物体的渲染顺序获取系统的结构图;
图7是图6中的坐标系构造单元的具体结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例通过空间坐标系下预设的相机位置参数,构造对应在3D渲染系统中的视觉坐标系以及获取将该空间坐标系转换为该视觉坐标系的转换矩阵,根据该转换矩阵,将每一透明物体在该空间坐标系下的空间位置坐标对应转换为该视觉坐标系中的视觉坐标,从而能够根据该每一透明物体的视觉坐标,正确地获取所有透明物体的渲染顺序,以使得在对3D透明物体渲染时,该透明物体得到正确的绘制渲染,增强了3D场景中透明物体的3D效果。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一:
图2示出了本发明第一实施例提供的3D渲染系统中透明物体的渲染顺序获取方法的实现流程,详述如下:
在步骤S201中,根据空间坐标系下预设的相机位置参数,构造对应在3D渲染系统中的视觉坐标系。
其中,该空间坐标系下预设的相机位置参数包括该相机的空间位置坐标向量
Figure BDA0000152251510000041
该相机的正上方参考坐标向量被该相机观察的目标的空间位置坐标向量
Figure BDA0000152251510000043
在本发明实施例中,定义视觉坐标系的高纬度为三维坐标系中的Z轴方向的向量,视觉坐标系的长纬度为三维坐标系中的X轴方向的向量,视觉坐标系的宽纬度为三维坐标系中的Y轴方向的向量。
该步骤S201具体包括:
根据预设的相机的空间位置坐标向量
Figure BDA0000152251510000044
以及被该相机观察的目标的空间位置坐标向量
Figure BDA0000152251510000045
获取视觉坐标系的高维度
Figure BDA0000152251510000046
根据预设的该相机的正上方参考坐标向量
Figure BDA0000152251510000047
以及该高维度获取该视觉坐标系的长维度
Figure BDA0000152251510000049
根据该高维度
Figure BDA00001522515100000410
以及该长维度
Figure BDA00001522515100000411
获取该视觉坐标系的宽维度
Figure BDA00001522515100000412
分别将该高维度
Figure BDA00001522515100000413
该长维度
Figure BDA00001522515100000414
以及该宽维度
Figure BDA00001522515100000415
进行归一化处理后,分别记为
Figure BDA00001522515100000416
Figure BDA00001522515100000417
根据归一化处理后的该高维度
Figure BDA00001522515100000418
该长维度
Figure BDA00001522515100000419
以及该宽维度创建该视觉坐标系。
在具体实施过程中,首先在空间坐标系下(相当于现实世界中的三维空间坐标系),定义Camera视锥体的三维空间位置信息,设置相机的空间位置坐标向量为比如
Figure BDA00001522515100000422
设置被该相机观察的目标的空间位置坐标,以被观察的目标为人为例,设置该人的空间位置坐标向量为
Figure BDA00001522515100000423
Figure BDA00001522515100000424
也反映了相机的朝向向量信息,比如
Figure BDA00001522515100000425
在该空间坐标系下,设置
Figure BDA00001522515100000426
为该相机的正上方参考坐标向量,也即反映了该相机的正上方的向量信息,比如
Figure BDA00001522515100000428
会影响视觉坐标系的长维度
Figure BDA00001522515100000429
和宽维度
Figure BDA00001522515100000430
的生成,因为以后求出的
Figure BDA00001522515100000431
向量会在
Figure BDA00001522515100000432
和高维度向量所决定的平面上,所以可以通过该
Figure BDA00001522515100000434
向量让相机产生不同的偏转,如图3所示。
在视觉坐标系(相当于3D渲染系统中虚拟的三维空间坐标系)中,定义该视觉坐标系的长维度
Figure BDA0000152251510000051
宽维度
Figure BDA0000152251510000052
以及高纬度
Figure BDA0000152251510000053
其中,表示相机的右方,也代表视觉坐标系的X方向;
Figure BDA0000152251510000055
表示相机的上方,也代表视觉坐标系的Y方向;
Figure BDA0000152251510000056
表示相机的后方,也代表视觉坐标系的Z方向;而该相机则处于视觉坐标系的原点,即对应空间坐标系中的位置。此时就可以以上述的信息等,构造3D渲染系统中的视觉坐标系。
具体地,如图4本发明实施例中提供的视觉坐标系中不同方向向量的示意图。在预先定义了
Figure BDA0000152251510000059
等相机位置参数之后,则可以获取高纬度
Figure BDA00001522515100000510
即获取了视觉坐标系的Z轴方向向量,也即用目标人的位置减去相机的位置;进一步可以获取长维度
Figure BDA00001522515100000511
“×”表示向量的叉乘,即获取了视觉坐标系的X轴方向向量,如果不希望相机产生偏转,一般取
Figure BDA00001522515100000512
Figure BDA00001522515100000514
表示垂直于
Figure BDA00001522515100000515
Figure BDA00001522515100000516
两个向量构建平面的法向量;使用
Figure BDA00001522515100000517
Figure BDA00001522515100000518
的叉乘可以计算出向量
Figure BDA00001522515100000519
Figure BDA00001522515100000520
即视觉坐标系下的Y轴方向向量。最后将计算出具有两两正交的
Figure BDA00001522515100000522
进行归一化后,分别对应
Figure BDA00001522515100000524
其中, u → = ( u x , u y , u z ) , v → = ( v x , v y , v z ) , n → = ( n x , n y , n z ) , 则该
Figure BDA00001522515100000528
Figure BDA00001522515100000529
就构成了相机的视觉坐标系。
在步骤S202中,获取将该空间坐标系转换为该视觉坐标系的转换矩阵。
该步骤S202具体为根据该归一化处理后的该高维度
Figure BDA00001522515100000530
该长维度
Figure BDA00001522515100000531
以及该宽维度
Figure BDA00001522515100000532
结合该预设的相机的空间位置坐标向量
Figure BDA00001522515100000533
获取将该空间坐标系转换为该视觉坐标系的转换矩阵。其中,该转换矩阵为4行4列的矩阵。
在具体实施过程中,在获取对应在3D渲染系统中的视觉坐标系uvn后,则根据将现实世界的空间坐标转换到3D虚拟世界的视觉坐标的转换原理,可以得出转换矩阵T, T = u x u y u z d x v x v y v z d y n x n y n z d z 0 0 0 1 , 其中, ( d x , d y , d z ) = ( eye → * u → , eye → * v → , eye → * n → ) , “*”表示向量的点乘。
在步骤S203中,根据该转换矩阵,将每一透明物体在该空间坐标系下的空间位置坐标对应转换为该视觉坐标系中的视觉坐标。
该步骤S203具体包括:
将每一透明物体在该空间坐标系下的空间位置坐标处理为4行1列的空间矩阵;
将该转换矩阵与该空间矩阵进行矩阵点乘操作,获取该每一透明物体的视觉坐标。
在具体实施过程中,可以获取所有需要在3D渲染系统中进行渲染的透明物体在空间坐标系下的空间位置坐标,由于每一透明物体在该空间坐标系下的空间位置坐标为三维坐标,比如透明物体A的空间坐标为(10,1,2),而获取该透明物体的视觉坐标时所利用的转换矩阵T为4行4列的矩阵,则需要对该透明物体的空间位置坐标进行处理,将所有透明物体的空间位置转换为4行1列的矩阵,且第四行的值设为1,比如处理后,透明物体A对应的空间矩阵为 10 1 2 1 . 则将该转换矩阵T与该空间矩阵A进行矩阵点乘操作,获取该每一透明物体的视觉坐标AA,AA=T*A,则可以获取所有透明的视觉坐标,需要说明的是,由于此时该所有透明物体的视觉坐标均为4行1列的矩阵,则可以进一步将第四行的值去除,保留前3行1列的值作为该透明物体的视觉坐标。
在步骤S204中,根据该每一透明物体的视觉坐标,获取所有透明物体的渲染顺序,以根据所述渲染顺序对所述透明物体进行渲染。
其中,该根据该每一透明物体的视觉坐标,获取所有透明物体的渲染顺序的步骤具体包括:
获取该每一透明物体的视觉坐标中Z轴方向的坐标值;
对所有透明物体的视觉坐标中Z轴方向的坐标值进行排序;
根据排序顺序,获取该透明物体的渲染顺序。
在具体实施过程中,可以获取该每一透明物体的视觉坐标中Z轴方向的坐标值,该Z轴方向的坐标值表示该透明物体或称渲染对象离3D渲染系统中虚拟摄像节点所在水平平面或称视觉近切面的距离,且值越小,说明该透明物体距离该视觉近切面的距离越近,否则,越远,则对应的渲染顺序为根据Z轴方向的坐标值从大到小排序,最大值对应的透明物体最先渲染。
如图5所示,d1、d2、d3、d4、d5分别表示透明物体a1、a2、a3、a4、a5离摄像节点O所在水平平面或称视觉近切面的距离值,θ表示该摄像节点O的视锥体开角,其中,d1>d2>d3>d4>d5,则按照透明物体排序后的渲染队列顺序,依次绘制渲染对象,渲染顺序是:距离该视觉近切面越远的越先被绘制,越近的越后绘制,也即物体的渲染顺序依次为a1、a2、a3、a4、a5,这样就可以保证对透明对象的正确绘制,消除了透明对象间的遮挡问题,同时保证了透明物体混合次序的正确性。
在本发明实施例中,若在空间坐标系下,可以但不限于,定义相机的空间位置坐标该相机的正上方参考坐标
Figure BDA0000152251510000072
被该相机观察的目标
Figure BDA0000152251510000073
则可以求出:
N → = ( 0,0,0 ) - ( 0,0 , - 200 ) = ( 0,0,200 ) ;
U → = up → × N → = ( 0,1,0 ) × ( 0,0,200 ) = ( 200,0,0 ) ;
V → = N → × U → = ( 0,0,200 ) × ( 200,0,0 ) = ( 0,40000,0 ) ,
进而,单位化或称归一化后, n → = ( 0,0,1 ) , u → = ( 1,0,0 ) , v → = ( 0,1,0 ) , 需要说明的是,
Figure BDA00001522515100000711
的值不一定只包括0和1,只要满足该
Figure BDA00001522515100000712
之间相互垂直,每一向量的绝对值为1即可。且由
Figure BDA00001522515100000713
Figure BDA00001522515100000714
计算得出(dx,dy,dz)=(0,0,200),则最终可以求得转换矩阵T,
T = 1 0 0 0 0 1 0 0 0 0 1 200 0 0 0 1 . 则所在空间坐标系下的两个物体A、B的位置分别为(10,1,2)、(20,2,3),对该位置处理后,分别转换为空间矩阵A=(10,1,2,1)、B=(20,2,3,1),利用转换矩阵转换到视觉坐标系,则对应转换后的矩阵为AA、BB,如下:
AA=T*A=(10,1,202,1),
AB=T*B=(20,2,203,1),
进一步地,根据结果向量矩阵去除辅助维度向量后,得到在视觉坐标系下的两个物体A、B的位置分别为A=(10,1,202)、B=(20,2,203),根据B的Z值203大于A的Z值202,则从大到小排序,排序的结果为B排在A的前面,所以先渲染B,然后在渲染A。
在本发明实施例中,该3D渲染系统中透明物体的渲染顺序获取方法通过根据空间坐标系下预设的相机位置参数,构造对应在3D渲染系统中的视觉坐标系,并获取将该空间坐标系转换为该视觉坐标系的转换矩阵,进一步根据该转换矩阵,将每一透明物体在该空间坐标系下的空间位置坐标对应转换为该视觉坐标系中的视觉坐标,根据该每一透明物体的视觉坐标,获取所有透明物体的渲染顺序,从而在对多个透明物体进行绘制渲染时,达到了能够消除多个物体间的遮挡影响,保证能够按照正确排序对透明物体进行正确绘制渲染的目的。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
实施例二:
图6示出了本发明第二实施例提供的3D渲染系统中透明物体的渲染顺序获取系统的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该3D渲染系统中透明物体的渲染顺序获取系统包括坐标系构造单元61、转换矩阵获取单元62、视觉坐标获取单元63、渲染顺序获取单元64以及渲染单元65,其中:
坐标系构造单元61,用于根据空间坐标系下预设的相机位置参数,构造对应在3D渲染系统中的视觉坐标系。
如图7所示,该坐标系构造单元61具体包括:
高维度获取单元611,用于根据预设的相机的空间位置坐标向量以及被该相机观察的目标的空间位置坐标向量,获取对应在3D渲染系统中的视觉坐标系的高维度;
长维度获取单元612,用于根据预设的该相机的正上方参考坐标向量以及该高维度,获取该视觉坐标系的长维度;
宽维度获取单元613,用于根据该高维度以及该长维度,获取该视觉坐标系的宽维度;
归一化单元614,用于分别将该高维度、该长维度以及该宽维度进行归一化处理;以及
坐标系构造子单元615,用于根据归一化处理后的该高维度、该长维度以及该宽维度,创建该视觉坐标系。
其中,该空间坐标系下预设的相机位置参数包括该相机的空间位置坐标向量
Figure BDA0000152251510000091
该相机的正上方参考坐标向量
Figure BDA0000152251510000092
被该相机观察的目标的空间位置坐标向量在本发明实施例中,定义视觉坐标系的高纬度为三维坐标系中的Z轴方向的向量,视觉坐标系的长纬度为三维坐标系中的X轴方向的向量,视觉坐标系的宽纬度为三维坐标系中的Y轴方向的向量。
在本发明实施例中,在空间坐标系下,需要预先定义该坐标系中相机的空间位置坐标向量为
Figure BDA0000152251510000094
该相机的正上方参考坐标向量
Figure BDA0000152251510000095
被该相机观察的目标的空间位置坐标向量
Figure BDA0000152251510000096
等。在视觉坐标系(相当于3D渲染系统中虚拟的三维空间坐标系)中,定义该视觉坐标系的长维度
Figure BDA0000152251510000097
宽维度
Figure BDA0000152251510000098
以及高纬度
Figure BDA0000152251510000099
其中,
Figure BDA00001522515100000910
表示视觉坐标系中相机的右方,也代表视觉坐标系的X方向;表示相机的上方,也代表视觉坐标系的Y方向;
Figure BDA0000152251510000101
表示相机的后方,也代表视觉坐标系的Z方向;而该相机则处于视觉坐标系的原点,即对应空间坐标系中
Figure BDA0000152251510000102
的位置,而该
Figure BDA0000152251510000103
会影响视觉坐标系的长维度
Figure BDA0000152251510000104
和宽维度的生成,因为以后求出的
Figure BDA0000152251510000106
向量会在和高维度
Figure BDA0000152251510000108
向量所决定的平面上,所以可以通过该向量让相机产生不同的偏转,此时可以以上述
Figure BDA00001522515100001010
的信息等,构造3D渲染系统中的视觉坐标系。
在本发明实施例中,在预先定义了
Figure BDA00001522515100001011
等相机位置参数之后,则该高维度获取单元611可以获取高纬度
Figure BDA00001522515100001012
即获取了视觉坐标系的Z轴方向向量,也即用目标人的位置减去相机的位置;进一步通过该长维度获取单元612可以获取长维度“×”表示向量的叉乘,即获取了视觉坐标系的X轴方向向量,如果不希望相机产生偏转,一般取
Figure BDA00001522515100001014
Figure BDA00001522515100001015
表示垂直于
Figure BDA00001522515100001016
Figure BDA00001522515100001017
两个向量构建平面的法向量;利用宽维度获取单元613使用
Figure BDA00001522515100001018
Figure BDA00001522515100001019
的叉乘可以计算出向量
Figure BDA00001522515100001020
Figure BDA00001522515100001021
即视觉坐标系下的Y轴方向向量。最后给归一化单元614将计算出具有两两正交的
Figure BDA00001522515100001022
Figure BDA00001522515100001023
进行归一化,分别对应
Figure BDA00001522515100001024
其中, u → = ( u x , u y , u z ) , v → = ( v x , v y , v z ) , n → = ( n x , n y , n z ) , 则坐标系构造子单元615根据该
Figure BDA00001522515100001029
构成相机的视觉坐标系。
转换矩阵获取单元62,用于获取将该空间坐标系转换为该视觉坐标系的转换矩阵。
该转换矩阵获取单元62具体用于根据该归一化处理后的该高维度、该长维度以及该宽维度,结合该预设的相机的空间位置坐标向量,获取将该空间坐标系转换为该视觉坐标系的转换矩阵。期中,该转换矩阵为4行4列的矩阵。
在本发明实施例中,在获取对应在3D渲染系统中的视觉坐标系uvn后,则可以利用该转换矩阵获取单元62,根据将现实世界的空间坐标转换到3D虚拟世界的视觉坐标的转换原理,可以得出转换矩阵T, T = u x u y u z d x v x v y v z d y n x n y n z d z 0 0 0 1 , 其中, ( d x , d y , d z ) = ( eye → * u → , eye → * v → , eye → * n → ) , “*”表示向量的点乘。
视觉坐标获取单元63,用于根据该转换矩阵,将每一透明物体在该空间坐标系下的空间位置坐标对应转换为该视觉坐标系中的视觉坐标。
视觉坐标获取单元63具体包括:
坐标处理单元,用于将每一透明物体在该空间坐标系下的空间位置坐标处理为4行1列的空间矩阵;以及
视觉坐标获取子单元,用于将该转换矩阵与该空间矩阵进行矩阵点乘操作,获取该每一透明物体的视觉坐标。
在本发明实施例中,可以获取所有需要在3D渲染系统中进行渲染的透明物体在空间坐标系下的空间位置坐标,由于每一透明物体在该空间坐标系下的空间位置坐标为三维坐标,比如透明物体A的空间坐标为(10,1,2),而获取该透明物体的视觉坐标时所利用的转换矩阵T为4行4列的矩阵,则需要对该透明物体的空间位置坐标进行处理,坐标处理单元将所有透明物体的空间位置转换为4行1列的矩阵,且第四行的值设为1,比如处理后,透明物体A对应的空间矩阵为 10 1 2 1 . 则通过视觉坐标获取子单元将该转换矩阵T与该空间矩阵A进行矩阵点乘操作,获取该每一透明物体的视觉坐标AA,AA=T*A,则可以获取所有透明的视觉坐标,需要说明的是,由于此时该所有透明物体的视觉坐标均为4行1列的矩阵,则可以进一步将第四行的辅助值去除,保留前3行1列的值作为该透明物体的视觉坐标。
渲染顺序获取单元64,用于根据该每一透明物体的视觉坐标,获取所有透明物体的渲染顺序。
渲染单元65,用于根据该渲染顺序对该透明物体进行渲染。
在本发明实施例中,可以通过渲染顺序获取单元64根据该每一透明物体的视觉坐标中Z轴方向的坐标值,该Z轴方向的坐标值表示该透明物体或称渲染对象离3D渲染系统中虚拟摄像节点所在水平平面或称视觉近切面的距离,且值越小,说明该透明物体距离该视觉近切面的距离越近,否则,越远,则对应的渲染顺序为根据Z轴方向的坐标值从大到小排序,最大值对应的透明物体最先渲染。
在本发明实施例中,该3D渲染系统中透明物体的渲染顺序获取系统通过对多个透明物体的空间位置坐标进行转换,转换到对应在视觉坐标系中的视觉坐标,已根据该视觉坐标的Z轴方向的大小对该多个物体进行排序,获取了对该多个物体进行绘制渲染的顺序,防止了3D渲染系统中3D透明物体之间的遮挡问题,保证了多个透明物体之间进行渲染的准确性。
在本实施例二中,相机不同偏转方向、该视觉坐标系中不同方向向量、多个透明物体位置关系等技术描述见本发明实施例一的相关描述,在此不再赘述。
本发明实施例提供了一种3D渲染系统中透明物体的渲染顺序获取方法,通过获取将空间坐标系转换为该视觉坐标系的转换矩阵,能够将每一透明物体在该空间坐标系下的空间位置坐标对应转换为该视觉坐标系中的视觉坐标,进而根据该透明物体的视觉坐标中的Z轴方向坐标值,决定对该透明物体的渲染次序,消除了利用现有的渲染顺序获取方法对多个透明物体进行排序时,存在排序易错误、物体间相互遮挡,导致对透明物体绘制渲染出错的问题,实现了对多个透明物体的绘制渲染,呈现了较佳的3D效果。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种3D渲染系统中透明物体的渲染顺序获取方法,其特征在于,所述方法包括下述步骤:
根据空间坐标系下预设的相机位置参数,构造对应在3D渲染系统中的视觉坐标系;
获取将所述空间坐标系转换为所述视觉坐标系的转换矩阵;
根据所述转换矩阵,将每一透明物体在所述空间坐标系下的空间位置坐标对应转换为所述视觉坐标系中的视觉坐标;
根据所述每一透明物体的视觉坐标,获取所有透明物体的渲染顺序,以根据所述渲染顺序对所述透明物体进行渲染。
2.如权利要求1所述的方法,其特征在于,所述空间坐标系下预设的相机位置参数包括所述相机的空间位置坐标向量
Figure FDA0000152251500000011
所述相机的正上方参考坐标向量
Figure FDA0000152251500000012
被所述相机观察的目标的空间位置坐标向量
Figure FDA0000152251500000013
3.如权利要求2所述的方法,其特征在于,所述根据空间坐标系下预设的相机位置参数,构造对应在3D渲染系统中的视觉坐标系的步骤具体包括:
根据预设的相机的空间位置坐标向量
Figure FDA0000152251500000014
以及被所述相机观察的目标的空间位置坐标向量
Figure FDA0000152251500000015
获取对应在3D渲染系统中的视觉坐标系的高维度
Figure FDA0000152251500000016
根据预设的所述相机的正上方参考坐标向量以及所述高维度
Figure FDA0000152251500000018
获取所述视觉坐标系的长维度
Figure FDA0000152251500000019
根据所述高维度
Figure FDA00001522515000000110
以及所述长维度
Figure FDA00001522515000000111
获取所述视觉坐标系的宽维度
Figure FDA00001522515000000112
分别将所述高维度
Figure FDA00001522515000000113
所述长维度
Figure FDA00001522515000000114
以及所述宽维度
Figure FDA00001522515000000115
进行归一化处理后,分别记为
Figure FDA00001522515000000116
Figure FDA00001522515000000117
根据归一化处理后的所述高维度
Figure FDA00001522515000000118
所述长维度
Figure FDA00001522515000000119
以及所述宽维度创建所述视觉坐标系。
4.如权利要求3所述的方法,其特征在于,所述获取将所述空间坐标系转换为所述视觉坐标系的转换矩阵的步骤具体为:
根据所述归一化处理后的所述高维度
Figure FDA0000152251500000021
所述长维度
Figure FDA0000152251500000022
以及所述宽维度
Figure FDA0000152251500000023
结合所述预设的相机的空间位置坐标向量
Figure FDA0000152251500000024
获取将所述空间坐标系转换为所述视觉坐标系的转换矩阵。
5.如权利要求4所述的方法,其特征在于,所述转换矩阵为矩阵 T = u x u y u z d x v x v y v z d y n x n y n z d z 0 0 0 1 , 其中 ( d x , d y , d z ) = ( eye → * u → , eye → * v → , eye → * n → ) , u → = ( u x , u y , u z ) , v → = ( v x , v y , v z ) , n → = ( n x , n y , n z ) , “*”表示向量的点乘。
6.如权利要求1所述的方法,其特征在于,所述将每一透明物体在所述空间坐标系下的空间位置坐标对应转换为所述视觉坐标系中的视觉坐标的步骤具体包括:
将每一透明物体在所述空间坐标系下的空间位置坐标处理为4行1列的空间矩阵;
将所述转换矩阵与所述空间矩阵进行矩阵点乘操作,获取所述每一透明物体的视觉坐标。
7.如权利要求6所述的方法,其特征在于,所述根据所述每一透明物体的视觉坐标,获取所有透明物体的渲染顺序的步骤具体包括:
获取所述每一透明物体的视觉坐标中Z轴方向的坐标值;
对所有透明物体的视觉坐标中Z轴方向的坐标值进行排序;
根据排序顺序,获取所述透明物体的渲染顺序。
8.一种3D渲染系统中透明物体的渲染顺序获取系统,其特征在于,所述系统包括:
坐标系构造单元,用于根据空间坐标系下预设的相机位置参数,构造对应在3D渲染系统中的视觉坐标系;
转换矩阵获取单元,用于获取将所述空间坐标系转换为所述视觉坐标系的转换矩阵;
视觉坐标获取单元,用于根据所述转换矩阵,将每一透明物体在所述空间坐标系下的空间位置坐标对应转换为所述视觉坐标系中的视觉坐标;以及
渲染顺序获取单元,用于根据所述每一透明物体的视觉坐标,获取所有透明物体的渲染顺序;
渲染单元,用于根据所述渲染顺序对所述透明物体进行渲染。
9.如权利要求8所述的系统,其特征在于,所述坐标系构造单元具体包括:
高维度获取单元,用于根据预设的相机的空间位置坐标向量以及被所述相机观察的目标的空间位置坐标向量,获取对应在3D渲染系统中的视觉坐标系的高维度;
长维度获取单元,用于根据预设的所述相机的正上方参考坐标向量以及所述高维度,获取所述视觉坐标系的长维度;
宽维度获取单元,用于根据所述高维度以及所述长维度,获取所述视觉坐标系的宽维度;
归一化单元,用于分别将所述高维度、所述长维度以及所述宽维度进行归一化处理;以及
坐标系构造子单元,用于根据归一化处理后的所述高维度、所述长维度以及所述宽维度,创建所述视觉坐标系。
10.如权利要求9所述的系统,其特征在于,所述转换矩阵获取单元具体用于根据所述归一化处理后的所述高维度、所述长维度以及所述宽维度,结合所述预设的相机的空间位置坐标向量,获取将所述空间坐标系转换为所述视觉坐标系的转换矩阵。
11.如权利要求8所述的系统,其特征在于,所述视觉坐标获取单元具体包括:
坐标处理单元,用于将每一透明物体在所述空间坐标系下的空间位置坐标处理为4行1列的空间矩阵;以及
视觉坐标获取子单元,用于将所述转换矩阵与所述空间矩阵进行矩阵点乘操作,获取所述每一透明物体的视觉坐标。
CN2012101057648A 2012-04-11 2012-04-11 一种3d渲染系统中透明物体的渲染顺序获取方法及系统 Pending CN102646284A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012101057648A CN102646284A (zh) 2012-04-11 2012-04-11 一种3d渲染系统中透明物体的渲染顺序获取方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012101057648A CN102646284A (zh) 2012-04-11 2012-04-11 一种3d渲染系统中透明物体的渲染顺序获取方法及系统

Publications (1)

Publication Number Publication Date
CN102646284A true CN102646284A (zh) 2012-08-22

Family

ID=46659096

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012101057648A Pending CN102646284A (zh) 2012-04-11 2012-04-11 一种3d渲染系统中透明物体的渲染顺序获取方法及系统

Country Status (1)

Country Link
CN (1) CN102646284A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102831631A (zh) * 2012-08-23 2012-12-19 上海创图网络科技发展有限公司 一种大规模三维动画的渲染方法及渲染装置
CN102903131A (zh) * 2012-09-07 2013-01-30 清华大学 在球面高斯光源下半透明物体的渲染方法
CN105894566A (zh) * 2015-12-01 2016-08-24 乐视致新电子科技(天津)有限公司 模型渲染方法及装置
CN106846450A (zh) * 2017-02-10 2017-06-13 腾讯科技(深圳)有限公司 实时渲染次表面散射的方法及相关装置
CN111145323A (zh) * 2019-12-27 2020-05-12 珠海金山网络游戏科技有限公司 一种图像渲染方法及装置
CN112732395A (zh) * 2021-01-27 2021-04-30 广州银汉科技有限公司 一种基于OpenGL的透明物体的延迟渲染方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1885348A (zh) * 2005-06-21 2006-12-27 中国科学院计算技术研究所 一种基于骨骼的任意拓扑结构虚拟角色的驱动方法
US7174039B2 (en) * 2002-11-18 2007-02-06 Electronics And Telecommunications Research Institute System and method for embodying virtual reality
US20080094395A1 (en) * 2006-10-18 2008-04-24 Samsung Electronics Co., Ltd. Method, medium, and system rendering 3D graphic data to enhance image quality of transparent objects
CN101295408A (zh) * 2007-04-27 2008-10-29 新奥特硅谷视频技术有限责任公司 一种3d图文渲染方法和渲染系统
CN101593356A (zh) * 2008-05-26 2009-12-02 新奥特(北京)视频技术有限公司 一种图形渲染方法
CN101923462A (zh) * 2009-06-10 2010-12-22 成都如临其境创意科技有限公司 一种基于FlashVR的三维微型场景网络发布引擎

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174039B2 (en) * 2002-11-18 2007-02-06 Electronics And Telecommunications Research Institute System and method for embodying virtual reality
CN1885348A (zh) * 2005-06-21 2006-12-27 中国科学院计算技术研究所 一种基于骨骼的任意拓扑结构虚拟角色的驱动方法
US20080094395A1 (en) * 2006-10-18 2008-04-24 Samsung Electronics Co., Ltd. Method, medium, and system rendering 3D graphic data to enhance image quality of transparent objects
CN101295408A (zh) * 2007-04-27 2008-10-29 新奥特硅谷视频技术有限责任公司 一种3d图文渲染方法和渲染系统
CN101593356A (zh) * 2008-05-26 2009-12-02 新奥特(北京)视频技术有限公司 一种图形渲染方法
CN101923462A (zh) * 2009-06-10 2010-12-22 成都如临其境创意科技有限公司 一种基于FlashVR的三维微型场景网络发布引擎

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
TWINSEN: "推导相机变换矩阵", 《HTTP://BLOG.CSDN.NET/POPY007/ARTICLE/DETAILS/5120158》 *
施连军: "三维空间视域变换实现方法的研究", 《电脑开发与应用》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102831631A (zh) * 2012-08-23 2012-12-19 上海创图网络科技发展有限公司 一种大规模三维动画的渲染方法及渲染装置
CN102831631B (zh) * 2012-08-23 2015-03-11 上海创图网络科技发展有限公司 一种大规模三维动画的渲染方法及渲染装置
CN102903131A (zh) * 2012-09-07 2013-01-30 清华大学 在球面高斯光源下半透明物体的渲染方法
CN102903131B (zh) * 2012-09-07 2015-04-15 清华大学 在球面高斯光源下半透明物体的渲染方法
CN105894566A (zh) * 2015-12-01 2016-08-24 乐视致新电子科技(天津)有限公司 模型渲染方法及装置
WO2017092307A1 (zh) * 2015-12-01 2017-06-08 乐视控股(北京)有限公司 模型渲染方法及装置
CN106846450A (zh) * 2017-02-10 2017-06-13 腾讯科技(深圳)有限公司 实时渲染次表面散射的方法及相关装置
CN106846450B (zh) * 2017-02-10 2020-03-31 腾讯科技(深圳)有限公司 实时渲染次表面散射的方法及相关装置
CN111145323A (zh) * 2019-12-27 2020-05-12 珠海金山网络游戏科技有限公司 一种图像渲染方法及装置
CN111145323B (zh) * 2019-12-27 2023-09-22 珠海金山数字网络科技有限公司 一种图像渲染方法及装置
CN112732395A (zh) * 2021-01-27 2021-04-30 广州银汉科技有限公司 一种基于OpenGL的透明物体的延迟渲染方法
CN112732395B (zh) * 2021-01-27 2021-08-17 广州银汉科技有限公司 一种基于OpenGL的透明物体的延迟渲染方法

Similar Documents

Publication Publication Date Title
US20170154460A1 (en) Viewing frustum culling method and device based on virtual reality equipment
CN116483200B (zh) 确定虚拟对象深度以及使虚拟内容翘曲的计算机实现方法
CN110717527B (zh) 结合空洞空间金字塔结构的目标检测模型确定方法
CN102646284A (zh) 一种3d渲染系统中透明物体的渲染顺序获取方法及系统
CN103049912B (zh) 一种基于任意三面体的雷达-相机系统外部参数标定方法
WO2017092307A1 (zh) 模型渲染方法及装置
CN113052835B (zh) 一种基于三维点云与图像数据融合的药盒检测方法及其检测系统
EP3093823A1 (en) Static object reconstruction method and system
CN109816769A (zh) 基于深度相机的场景地图生成方法、装置及设备
CN101673394B (zh) 内容感知的广角图像
CN108830894A (zh) 基于增强现实的远程指导方法、装置、终端和存储介质
CN112639664A (zh) 用于确定和/或评价图像显示设备的定位地图的方法和装置
CN105224288B (zh) 双目三维图形渲染方法及相关系统
US10043286B2 (en) Apparatus and method for restoring cubical object
CN108369639A (zh) 使用多相机和深度相机阵列的基于图像的图像渲染方法和系统
CN104010180B (zh) 三维视频滤波方法和装置
US9165393B1 (en) Measuring stereoscopic quality in a three-dimensional computer-generated scene
CN105739106A (zh) 一种体感多视点大尺寸光场真三维显示装置及方法
KR20110088995A (ko) 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법 및 시스템, 및 기록 매체
CN116664648A (zh) 点云帧及深度图生成方法、装置、电子设备和存储介质
JP2017158153A (ja) 画像処理装置および画像処理方法
CN104796624A (zh) 一种光场编辑传播方法
US12106509B2 (en) Methods and apparatuses for corner detection
CN107563958B (zh) 全息图像转换方法和系统
CN117156282A (zh) 一种基于无人机航摄相片投影的全景图像生成方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120822