图像生成系统及图像生成方法

文档序号:7800364阅读:214来源:国知局
图像生成系统及图像生成方法
【专利摘要】本发明提供能够实现有效利用顶点分割处理的投影图像的失真校正的图像生成系统及图像生成方法等。图像生成系统包括:进行顶点分割数m的设定处理的顶点分割数设定部;对物体空间内的三维物体OB,按由所述顶点分割数设定部设定的所述顶点分割数m进行顶点分割处理的顶点分割处理部;顶点位置运算部,求出连接所述顶点分割处理后的所述三维物体OB的顶点位置和假想摄像机VC的位置的直线,与投影用的屏幕SC的交点位置,基于求出的所述交点位置,求出与对应于所述三维物体OB的描绘物体相关的、在描绘缓冲器的顶点位置;以及描绘部,基于求出的所述描绘物体的所述顶点位置,进行将所述描绘物体描绘于所述描绘缓冲器的处理,生成投影用的投影图像。
【专利说明】图像生成系统及图像生成方法

【技术领域】
[0001 ] 本发明涉及图像生成系统及图像生成方法等。

【背景技术】
[0002]以往,已知有利用投影仪等投影装置对曲面屏幕投影的投影图像的生成系统。而且,作为对曲面屏幕投影失真小的投影图像的现有技术,例如有在专利文献I中公开的技术。
[0003]另外,在具备着色器功能的GPU (Graphics Processing Unit)中,有具备所谓的曲面细分的功能的GPU,作为这样的曲面细分的现有技术,例如有在专利文献2中公开的技术。
[0004][现有技术文献]
[0005][专利文献]
[0006][专利文献I]日本特开2003-85586公报
[0007][专利文献2]日本特表2011-515765公报。


【发明内容】

[0008]然而,对于投影图像相对曲面屏幕等的投影用的屏幕的失真校正,未提出过利用采用曲面细分等顶点分割处理的技术。
[0009]依据本发明的若干方面,能够提供能实现有效利用顶点分割处理的投影图像的失真校正的图像生成系统及图像生成方法等。
[0010]本发明的一方面涉及图像生成系统,包括:进行顶点分割数的设定处理的顶点分割数设定部;对物体空间内的三维物体,按由所述顶点分割数设定部设定的所述顶点分割数进行顶点分割处理的顶点分割处理部;顶点位置运算部,求出连接所述顶点分割处理后的所述三维物体的顶点位置和假想摄像机的位置的直线与投影用的屏幕的交点位置,基于求出的所述交点位置,求出与对应于所述三维物体的描绘物体相关的、在描绘缓冲器的顶点位置;以及描绘部,基于求出的所述描绘物体的所述顶点位置,进行将所述描绘物体描绘于所述描绘缓冲器的处理,生成投影用的投影图像。
[0011]依据本发明的一方面,基于顶点分割处理后的三维物体的顶点位置,求出在描绘缓冲器的描绘物体的顶点位置,将与三维物体对应的描绘物体描绘到描绘缓冲器,生成投影图像。此时,通过使在例如物体空间内的直线在描绘缓冲器上也成为直线,能够抑制观察到失真的图像的事态的产生。而且,可提供能够实现有效利用顶点分割处理的投影图像的失真校正的图像生成系统等。
[0012]另外,在本发明的一方面中,可在将构成作为所述顶点分割处理的对象的所述三维物体内的线段的2个顶点设为第一、第二顶点,连接所述第一顶点和所述假想摄像机的位置的第一直线与连接所述第二顶点和所述假想摄像机的位置的第二直线所成的角度设为Θ,所述顶点分割数设为m的情况下,所述顶点分割数设定部根据所述角度Θ设定所述顶点分割数m。
[0013]这样,例如,可进行在角度Θ大的情况下增大顶点分割数m、在角度Θ小的情况下减少顶点分割数m等的顶点分割数的设定处理,抑制无谓的处理负荷的产生,并能够实现投影图像的适当的失真校正。
[0014]另外,在本发明的一方面中,所述顶点分割数设定部在所述角度Θ为第一角度Θ I的情况下,将所述顶点分割数m设定为第一分割数ml,在所述角度Θ为第二角度Θ2(Θ 2 < Θ 1)的情况下,将所述顶点分割数m设为第二分割数m2 (m2 ≤ ml)。
[0015]这样,例如,可实现对在接近假想摄像机的位置配置的三维物体增大顶点分割数、对配置在离假想摄像机远的位置的三维物体减少顶点分割数的顶点分割数的设定处理。
[0016]另外,在本发明的一方面中,所述顶点分割数设定部可以根据作为所述顶点分割处理的对象的所述三维物体的顶点的对所述屏幕的投影位置、所述假想摄像机的位置信息、所述假想摄像机的所述位置信息的时间变化信息、投影仪的位置信息、所述投影仪的所述位置信息的时间变化信息、所述屏幕的形状、所述屏幕的所述形状的时间变化信息、描绘负荷、时间要素及所述三维物体的属性中的至少一个改变所述顶点分割数m相对于所述角度Θ的设定。
[0017]这样,能够实现灵活地处理各种状况的顶点分割数的设定处理。
[0018]另外,在本发明的一方面中,在将构成作为所述顶点分割处理的对象的所述三维物体内的线段的2个顶点设为第一、第二顶点,连接所述第一顶点和连接所述假想摄像机的位置的第一直线与连接所述第二顶点和所述假想摄像机的位置的第二直线所成的角度设为Θ,所述顶点分割数设为m,作为顶点分割数设定的基准的角度设为ε的情况下,所述顶点分割数设定部可以设定所述顶点分割数m,使得(Θ /m) < ε。
[0019]这样以角度ε为基准设定顶点分割数,则能够以简单的处理实现顶点分割数的设定处理,能够实现投影图像的失真校正。
[0020]另外,在本发明的一方面中,在将根据所述假想摄像机的位置估计(見込& )在所述屏幕的所述投影图像的像素的大小的角度设为S的情况下,所述顶点分割数设定部可以使用以所述角度δ为基准设定的所述角度ε,设定所述顶点分割数m。
[0021]这样,能够实现适当地反映了投影图像的像素的在屏幕的大小随投影位置而不同的投影图像的失真校正。
[0022]另外,在本发明的一方面中,所述顶点分割数设定部可以根据作为所述顶点分割处理的对象的所述三维物体的顶点的对所述屏幕的投影位置、所述假想摄像机的位置信息、所述假想摄像机的所述位置信息的时间变化信息、投影仪的位置信息、所述投影仪的所述位置信息的时间变化信息、所述屏幕的形状、所述屏幕的所述形状的时间变化信息、描绘负荷、时间要素及所述三维物体的属性中的至少一个来改变所述角度ε。
[0023]这样,能够实现灵活处理各种状况的角度ε的设定处理。
[0024]另外,在本发明的一方面中,所述描绘部可以通过在所述假想摄像机的视点坐标系描绘与所述屏幕的形状对应的屏幕模型物体,生成在每个像素或在每个所述屏幕模型物体的顶点设定了深度值的深度图像,所述顶点位置运算部用射影变换矩阵将所述三维物体的顶点的第一、第二坐标变换至所述视点坐标系,基于变换后的所述第一、第二坐标参照所述深度图像的所述深度值,求出与所述屏幕的所述交点位置。
[0025]这样,在例如屏幕的形状作为形状数据预先知道的情况等,可实现高速且准确的投影图像的失真校正。
[0026]另外,在本发明的一方面中,所述屏幕可以是由I个曲面或多个面构成的屏幕。
[0027]本发明的另一方面涉及图像生成方法,包括:顶点分割数设定步骤,进行顶点分割数的设定处理;顶点分割处理步骤,对物体空间内的三维物体,按用所述顶点分割数设定步骤设定的所述顶点分割数进行顶点分割处理;顶点位置运算步骤,求出连接所述顶点分割处理后的所述三维物体的顶点位置和假想摄像机的位置的直线与投影用的屏幕的交点位置,基于求出的所述交点位置,求出关于与所述三维物体对应的描绘物体的、在描绘缓冲器的顶点位置;描绘步骤,基于求出的所述描绘物体的所述顶点位置,进行将所述描绘物体描绘到所述描绘缓冲器的处理,生成投影用的投影图像。

【专利附图】

【附图说明】
[0028]图1是适用本实施方式的图像生成系统的游戏系统的一个例子。
[0029]图2是适用本实施方式的图像生成系统的游戏系统的铅直截面图。
[0030]图3是本实施方式的图像生成系统的结构例。
[0031]图4是在描绘缓冲器的像素单位的失真校正方式的说明图。
[0032]图5是以像素单位的失真校正中使用代理平面的方式的说明图。
[0033]图6是示出以像素单位的失真校正中使用代理平面的方式下的描绘缓冲器、UV图、渲染纹理的关系的图。
[0034]图7是对使用代理平面的方式的问题点的说明图。
[0035]图8是对使用代理平面的方式的问题点的说明图。
[0036]图9是以物体的顶点单位的失真校正方式的说明图。
[0037]图10是对以物体的顶点单位的失真校正方式的问题点的说明图。
[0038]图11是设有曲面细分器等的GPU的结构例。
[0039]图12是本实施方式的方式的说明图。
[0040]图13的(A)和图13的(B)是顶点分割数的设定方式的说明图。
[0041]图14是顶点分割数的设定方式的说明图。
[0042]图15是成为顶点分割数设定的基准的角度ε的设定方式的说明图。
[0043]图16是成为顶点分割数设定的基准的角度ε的设定方式的说明图。
[0044]图17是说明本实施方式的处理的流程图。
[0045]图18的(A)至图18的(C)是对立体视觉的应用例的说明图。
[0046]图19的(A)和图19的(B)是根据屏幕的模型数据生成投影映射用的变换数据的方式的说明图。
[0047]图20是根据屏幕的模型数据生成投影映射用的变换数据的方式的说明图。

【具体实施方式】
[0048]以下,对本实施方式进行说明。此外,以下所说明的本实施方式并不是对权利要求书所记载的本发明的内容的不合理限定。另外在本实施方式中说明的全部结构并不限于是本发明的必需结构要件。
[0049]1.结构
[0050]图1示出适用本实施方式的图像生成系统的游戏系统I的结构例。图2是该游戏系统I的铅直截面图。
[0051]本实施方式的游戏系统I是设置于店铺等而执行赛车游戏的业务用游戏系统,具备:模拟赛车的驾驶席的游戏者座椅1002,显示游戏画面的曲面形状的屏幕1004,向屏幕1004投影图像(影像)的投影仪1006,输出游戏音的扬声器(未图示),用于游戏者输入游戏操作的手柄1008,加速踏板1010,刹车踏板1009,变速杆(未图示)以及控制基板1020。
[0052]调整设置游戏者座椅1002的朝向或高度,使得就坐的游戏者的假设正视方向朝向屏幕1004的中央附近。在本实施方式中,就坐的游戏者的正面方向设为假设正视方向。曲面屏幕1004相对在游戏者座椅1002就坐的游戏者的正面方向(假设正视方向)形成为凸形状。
[0053]投影仪1006是投影装置的一种,被设置于游戏者座椅1002的后方的支柱1012或壳体框1014支撑,设置在游戏者座椅1002的上方、不干扰在游戏者座椅1002就坐的游戏者的位置,使其投影中心方向朝向屏幕1004的中心附近。即,设置成投影中心方向朝向游戏者的假设正视方向和曲面屏幕的交点位置。另外,在投影仪1006安装有广角透镜作为投影透镜,通过该广角透镜将投影图像投影到屏幕1004的投影面整体。
[0054]在控制基板1020上安装CPU、GPU、DSP等各种微处理器,ASIC,VRAM、RAM, ROM等各种IC存储器。而且,控制基板1020基于在IC存储器存储的程序、数据、来自手柄1008、加速踏板1010、刹车踏板1009等的操作信号等,进行实现赛车游戏的各种处理。
[0055]游戏者在游戏者座椅1002就坐,在观看在屏幕1004显示的游戏画面的同时听取来自扬声器的游戏音,操作手柄1006、加速踏板1010、刹车踏板1009来享受赛车游戏。
[0056]在本实施方式的赛车游戏中,在物体空间(假想三维空间)配置比赛场等的背景物体而构成游戏空间。在该物体空间内配置游戏汽车、其他的游戏汽车等各种物体,并在游戏者的视点位置配置假想摄像机。而且,从该假想摄像机看到的物体空间的图像被投影仪1006投影(显示)到屏幕1004作为游戏图像。
[0057]在图3示出本实施方式的图像生成系统的框图的例子。此外,本实施方式的图像生成系统的结构不限于图3,可进行省略其构成要素(各部)的一部分,追加其他构成要素等各种变形实施方案。
[0058]操作部160用于由游戏者输入操作数据。在对图1、图2的游戏系统I应用图像系统的情况下,操作部160能够利用手柄1008、加速踏板1010、刹车踏板1009等实现。
[0059]存储部170是处理部100、通信部196等的工作区域,因而其功能能够用RAM(DRAM,VRAM)等实现。而且游戏程序、游戏程序的执行所需的游戏数据保持在该存储部170。
[0060]信息存储介质180 (计算机可读介质)存放程序或数据等,其功能能够利用光盘(⑶,DVD),HDD (硬盘驱动器)或存储器(ROM等)等实现。处理部100基于存放在信息存储介质180的程序(数据)进行本实施方式(图像生成方法)的各种的处理。即在信息存储介质180存储使计算机(具备操作部、处理部、存储部、输出部的装置)作为本实施方式的各部工作的程序(在计算机执行各部的处理的程序)。
[0061]显示部190显示依据本实施方式生成的图像。在对图1、图2的游戏系统I应用图像生成系统的情况下,显示部190能够利用液晶投影仪中的LCD、DLP投影仪中的DMD等实现。声音输出部192输出依据本实施方式生成的声音,其功能能够利用扬声器或耳机等实现。
[0062]辅助存储装置194 (辅助存储器、2次存储器)是用于补充存储部170的容量的存储装置,能够利用SD存储卡、多媒体卡等存储卡等实现。
[0063]通信部196经由有线或无线的网络进行与外部(例如其他图像生成系统、服务器、主机装置)之间的通信,其功能能够利用通信用ASIC或通信用处理器等硬件、通信用固件来实现。
[0064]处理部100 (处理器)基于来自操作部160的操作数据、程序等,进行游戏处理、图像生成处理或声音生成处理等。处理部100以存储部170作为工作区域进行各种处理。该处理部100的功能能够利用各种处理器(CPU、GPU等),ASIC (门阵列等)等硬件、程序来实现。
[0065]处理部100包括游戏运算部102、物体空间设定部104、移动体运算部106、假想摄像机控制部108、顶点分割数设定部110、顶点分割处理部112、顶点位置运算部114、描绘部120、声音生成部130。此外可进行省略这些的构成要素(各部)的一部分、追加其他构成要素等各种变形实施方案。
[0066]游戏运算部102进行游戏运算处理。这里作为游戏运算,是在满足游戏开始条件的情况下开始游戏的处理、使游戏进行的处理、运算游戏结果的处理、或在满足游戏结束条件的情况下结束游戏的处理等。
[0067]物体空间设定部104进行配置多个物体的物体空间的设定处理。例如,进行将表示移动体(车、飞行器、人、动物、机器人、船舶等)、地图(地形)、建筑物、场地(道路)、树木、壁、水面等的显示物的各种物体(由多边形、自由曲面或细分曲面等的图元面构成的物体)配置设定在物体空间中的处理。即决定在世界坐标系的物体的位置或旋转角度(与朝向、方向同义),在该位置(X,Y,Z)以该旋转角度(绕X,Y,Z轴旋转的旋转角度)配置物体。具体而言,在存储部170的物体数据存储部172中,对应地存储作为物体(部件物体)的位置、旋转角度、移动速度、移动方向等的数据的物体数据与物体编号对应地存储。物体空间设定部104例如进行每帧地更新该物体数据的处理等。
[0068]移动体运算部106进行使车、飞行器等移动体(移动体物体)移动的控制处理。另夕卜,进行用于使移动体动作的控制处理。即进行基于游戏者通过操作部160输入的操作数据、程序(移动.动作算法)、各种数据(运动数据)等,使移动体(物体、模型物体)在物体空间内移动、使移动体动作(运动,动画制作)的控制处理。具体而言,进行每次I帧(1/60秒)地顺次求出移动体的移动信息(位置、旋转角度、速度或加速度)、动作信息(部件物体的位置或旋转角度)的模拟处理。此外,帧是进行移动体的移动.动作处理(模拟处理)或图像生成处理的时间的单位。
[0069]假想摄像机控制部108进行用于生成从物体空间内的给定(任意)的视点都可见的图像的假想摄像机(视点,基准假想摄像机)的控制处理。具体而言,进行控制假想摄像机的位置(X,Y,Z)或旋转角度(绕X,Y,Z轴的旋转角度)的处理(控制视点位置、视线方向或者画角的处理)。
[0070]例如,在利用假想摄像机从后方拍摄移动体的情况下,以使假想摄像机追随移动体的位置或方向的变化的方式控制假想摄像机的位置(视点位置)或方向(视线方向)。在该情况下,能够基于在移动体运算部106得到的移动体的位置、方向或速度等信息控制假想摄像机。或者,也可进行使假想摄像机以预先确定的旋转角度旋转或按预先决定的移动路径移动的控制。在该情况下,基于用于指定假想摄像机的位置(移动路径)或方向的假想摄像机数据控制假想摄像机。
[0071]声音生成部130基于在处理部100进行的各种的处理的结果进行声音处理,生成BGM、效果音或声音等的游戏音,并向声音输出部192输出。
[0072]而且在本实施方式的图像生成系统中,为了生成向图1、图2的屏幕1004投影的投影图像,设置顶点分割数设定部110、顶点分割处理部112、顶点位置运算部114、描绘部120。
[0073]顶点分割数设定部110进行顶点分割数的设定处理。即,决定顶点分割数,对顶点分割处理部112指示在顶点分割处理的顶点分割数。顶点分割处理部112对物体空间内的三维物体,以在顶点分割数设定部110设定的顶点分割数进行顶点分割处理。具体而言,进行针对构成三维物体的各多边形(图元)的顶点分割处理。
[0074]顶点位置运算部114进行与三维物体对应的描绘物体(2维物体)的顶点位置的运算处理。描绘部120基于求出的顶点位置进行将描绘物体描绘于描绘缓冲器176 (能够在帧缓冲器、工作缓冲器等的像素单位存储图像信息的缓冲器)的处理,生成投影到图1、图2的屏幕1004的投影图像。
[0075]具体而言,顶点位置运算部114求出连接顶点分割处理后的三维物体的顶点位置和假想摄像机的位置的直线与投影用的屏幕的交点位置。该投影用的屏幕是对应于图1、图2的屏幕1004,被配置设定于作为假想三维空间的物体空间中的投影图像生成用的假想屏幕,与该形状匹配地进行失真校正处理(也称为投影映射处理)。该投影用的屏幕能够由I个曲面或多个面(曲面,平面)构成。而且,顶点位置运算部114基于求出的交点位置,求出针对与三维物体(三维多边形)对应的描绘物体(描绘多边形)的、在描绘缓冲器176的顶点位置。此外,三维物体意味着配置于三维空间(物体空间)的物体,例如是具有三维坐标值(X,Y,Z坐标值)作为其顶点的坐标值的物体。另一方面,描绘物体例如是具有2维坐标值(X,Y坐标)作为其顶点的坐标值的物体。
[0076]描绘部120基于求出的描绘物体的顶点位置,进行将描绘物体描绘于描绘缓冲器176的处理,生成投影用的投影图像。生成的投影图像利用图1、图2的投影仪1006投影到屏幕1004。由此游戏者可看到作为游戏图像的从假想摄像机看到的物体空间的图像。
[0077]这里,设成为构成顶点分割处理的对象的三维物体内的线段的2个顶点作为第一、第二顶点,设连接第一顶点和假想摄像机的位置的第一直线与连接第二顶点和假想摄像机的位置的第二直线所成的角度为Θ,设顶点分割数为m。在该情况下,顶点分割数设定部110与角度Θ对应地设定顶点分割数m。
[0078]具体而言,顶点分割数设定部110在角度Θ为第一角度Θ I的情况下,将顶点分割数m设定为第一分割数ml。另外在角度Θ为第二角度Θ2(Θ2< Θ1)的情况下,将顶点分割数m设定为第二分割数m2 (m2 = ml)。即,设定顶点分割数m,使得角度Θ越小则顶点分割数m越少(角度Θ越大则顶点分割数m越多)。但是,角度Θ是实数,而分割数实质上是自然数,即使Θ 2 < Θ I也设m2 = ml的情况较多,故记为m2兰ml。
[0079]在该情况下,顶点分割数设定部110可根据如下量的至少一个改变顶点分割数m相对角度Θ的设定:对成为顶点分割处理的对象的三维物体的顶点的屏幕的投影位置、假想摄像机的位置信息、假想摄像机的位置信息的时间变化信息、投影仪的位置信息、投影仪的位置信息的时间变化信息、屏幕的形状、屏幕的形状的时间变化信息、描绘负荷、时间要素、及所述三维物体的属性的至少一个。
[0080]例如,在三维物体的顶点的对屏幕的投影位置为第一位置(例如屏幕的上方部或中央部)的情况,以及为第二位置(例如屏幕的下方部)的情况下,使顶点分割数m不同。或根据假想摄像机(游戏者视点)的位置信息或其时间变化信息改变顶点分割数m。例如在考虑假想摄像机的位置变化、游戏场景(游戏舞台)等变化的情况下,根据该变化来改变顶点分割数m。或者,根据假想摄像机的位置信息的时间变化信息(移动速度,加速度等)改变顶点分割数m。例如在假想摄像机的移动速度快的情况下使顶点分割数m变少。另外,在移动速度慢的情况下使顶点分割数m变多。
[0081]或者,根据投影仪的位置信息改变顶点分割数m,或在投影仪的位置信息动态变化的情况下,根据其位置信息的时间变化信息(移动速度等)改变顶点分割数m。或者,根据屏幕的形状改变顶点分割数m,在屏幕的形状动态变化的情况下,基于其形状的时间变化信息(形状的变化速度等)改变顶点分割数m。或者,根据在描绘部120等的描绘负荷改变顶点分割数m。例如在描绘负荷重的情况下减少顶点分割数m。另外在描绘负荷轻的情况下增加顶点分割数m。或者,基于时间经过等的时间要素改变顶点分割数m。例如,根据在游戏空间或现实空间的时间经过动态改变顶点分割数m。或者,根据三维物体的种类等的属性改变顶点分割数m。例如,使每个三维物体的顶点分割数m不同,对要求更高精细图像的三维物体(例如主要移动体)增加顶点分割数m,对不要求那样的精细度的三维物体减少顶点分割数m。
[0082]另外,如上所述地连接三维物体的第一顶点和假想摄像机的位置的第一直线与连接三维物体的第二顶点和假想摄像机的位置的第二直线所成的角度设为Θ,成为顶点分割数设定的基准的角度设为ε。在此情况下,顶点分割数设定部110设定顶点分割数m使得(Θ /m) < ε。即,控制顶点分割数m,使得(θ/m)不超过角度ε。
[0083]例如从假想摄像机的位置估计屏幕上的投影图像的像素的大小的角度(游戏者估计的角度)设为S。在此情况下顶点分割数设定部110使用以角度δ为基准设定的角度ε来设定顶点分割数m。例如表达为ε = kX δ (例如k= I),将该角度ε作为顶点分割数设定的基准角度,设定顶点分割数m。
[0084]在此情况下,顶点分割数设定部110可基于如下量的至少一个改变角度ε:成为顶点分割处理的对象的三维物体的顶点的对屏幕的投影位置、假想摄像机的位置信息、假想摄像机的位置信息的时间变化信息、投影仪的位置信息、投影仪的位置信息的时间变化信息、屏幕的形状、屏幕的形状的时间变化信息、描绘负荷、时间要素、及所述三维物体的属性。
[0085]例如,在三维物体的顶点的对屏幕的投影位置为第一位置的情况和为第二位置的情况下,使角度ε不同。或者,根据假想摄像机的位置信息或其时间变化信息使角度ε不同。例如,在考虑假想摄像机的位置变化、游戏场景等变化的情况下,根据该变化来改变角度ε。或者,根据假想摄像机的位置信息的时间变化信息来时角度ε不同。例如,在假想摄像机的移动速度快的情况下增大角度ε,例如使顶点分割数m变少。另外在移动速度变慢的情况下减小角度ε,使顶点分割数m变多。此外,作为假想摄像机的位置变化的情况,除了在游戏内的假想摄像机的移动的情况外,在游戏者自身的视点位置变化的情况下,可考虑利用头部跟踪等检测该变化,并反映到假想摄像机的位置的情况等,这里可仅考虑其一个方面,也可以两个方面都考虑。例如,在认为视游戏者自身的视点位置的变化的影响小的情况,或不能够检出行游戏者自身的视点位置的情况下,可不将其反映到假想摄像机的位置。或者,根据投影仪的位置信息改变角度ε,或在投影仪的位置信息动态变化的情况下,根据其位置信息的时间变化信息改变角度ε。或者,根据屏幕的形状改变角度ε,或在屏幕的形状动态变化的情况下,基于其形状的时间变化信息改变角度ε。或者,根据在描绘部120等的描绘负荷使角度ε不同。例如,在描绘负荷重的情况下,增大角度ε,使顶点分割数m变少。另外在描绘负荷轻的情况下,减小角度ε,使顶点分割数m增大。或者,基于时间经过等的时间要素改变角度ε。例如,根据游戏空间或现实空间的时间经过动态改变角度ε。或者,根据三维物体的种类等的属性使角度ε不同。例如,对于每个三维物体使角度ε不同,对要求更高精细度的图像的三维物体,减小角度ε,使顶点分割数m变大,对不要求那样的精细度的三维物体增大角度ε,减少顶点分割数m。
[0086]另外,描绘部120通过在假想摄像机的视点坐标系描绘与屏幕的形状对应的屏幕模型物体,生成对每个像素设定了深度值的深度图像、或对每个屏幕模型物体的顶点设定了深度值的网孔信息(^ y 情報)。例如,通过在假想摄像机的视点坐标系描绘屏幕物体,在Z缓冲器178生成深度图像。而且,顶点位置运算部114将三维物体的顶点的第一、第二坐标用射影变换矩阵变换至视点坐标系。而且,通过基于变换后的第一、第二坐标(X,Y坐标)参考深度图像的深度值(Z值),求出和屏幕的交点位置。
[0087]2.本实施方式的方式
[0088]接着具体说明本实施方式的方式(图像生成方法)。此外,以下主要以投影用的屏幕为曲面的屏幕(穹顶状的屏幕)的情况为例进行说明,但并不限于本实施方式。投影用的屏幕是指所有并非单一平面的屏幕。例如投影用的屏幕只要是由I个曲面或多个面(平面,曲面)构成的屏幕即可。即,作为该屏幕,可假设由I个曲面构成的屏幕、由多个平面构成的屏幕、由多个曲面构成的屏幕、由多个平面及曲面构成的屏幕等。
[0089]2.1以像素单位的失真校正方式
[0090]在将图像投影到穹顶状(曲面)的屏幕的情况下,投影仪的位置与游戏者(观察者)的位置分离时,图像的失真变得显眼起来。因此,通过预先考虑该失真来生成来自投影仪的投影图像(在投影仪的描绘缓冲器描绘的图像),可呈现从游戏者看来无失真的影像。
[0091]在此情况下,若屏幕是单一的平面,则失真变为线性的(因立体图(^ 一 7 )导致的失真),仅使用I个射影变换矩阵就可简单地校正。
[0092]然而,在非单一平面屏幕(由I个曲面或多个面构成的屏幕)的情况下,由于施加了非线形的失真,故以仅使用一个射影变换矩阵这样的简单校正方式,不能够校正失真,需要根据图像的部分进行细致的校正。
[0093]作为实现这样的失真校正的方式,可考虑按描绘缓冲器的像素单位进行失真校正的方式和按三维物体的顶点单位进行失真校正的方式。首先,对按像素单位的失真校正方式进行说明。
[0094]在按描绘缓冲器的像素单位的失真校正方式中,如图4那样,依次进行下述所示的(I)、(2)、(3)、(4)的处理。
[0095](I)求出描绘缓冲器(帧缓冲器)上的像素PX (XP,YP)通过投影仪的透镜而射出的光线RY。
[0096](2)求出该光线RY与屏幕SC相交的交点PS (XS,YS,ZS)的位置。例如在屏幕SC用椭圆面的方程式等的数学式表达的情况下,使用表示直线RY的数学式和表示屏幕SC的数学式求出交点PS。
[0097](3)该交点PS (XS,YS, ZS)的颜色必须是游戏者(观察者)观察物体空间(假想空间)时的颜色。因此,求出连结与游戏者的代表视点对应的假想摄像机VC的位置VP和连结交点PS (XS,YS, ZS)的位置的直线LV。
[0098](4)以该直线LV作为视线,从物体空间的信息确定描绘缓冲器上的投影图像的像素的颜色。例如,求出在物体空间最初到达的三维物体OB上的点PB (XB, YB, ZB)的位置,根据它来确定描绘缓冲器上的投影图像的像素的颜色。
[0099]在该情况下,在按像素单位的失真校正方式的改良方式中,在上述的最后的(4)中,不是求出直线LV与三维物体OB的交点PB (XB, YB, ZB)的颜色,而是使用与预先描绘的平面(渲染纹理)的交点(渲染纹理的坐标为(U,V))的颜色,确定投影图像的像素的颜色。渲染纹理能够如下地生成:预先选择应成为投影面的近平面(以下,称为代理平面),在其上进行通常的描绘方法,即,进行以平面为投影面的描绘。
[0100]在图5示出这样的代理平面PL1、PL2的一个例子。点PP是直线LV和代理平面PLl (PL2)的交点。
[0101]渲染纹理的参照位置只要视点、投影仪的位置未变化,只要在最初计算一次即可。作为保持该数据的代表性方法,有这样的方法:将对描绘缓冲器的每I像素参照渲染纹理的哪一位置(U,V)的像素值保持为I块纹理。称该纹理为“UV图”。在图6示出投影仪的描绘缓冲器与UV图的渲染纹理的关系。
[0102]对描绘缓冲器上的全部像素求出图6的渲染纹理的对应点(UV坐标)并保持,需要极大的资源。在没有准备该大资源的余裕的情况下,对适当配置在屏幕SC上的代表顶点,求出描绘缓冲器上的对应点(XP,YP)和渲染纹理上的对应点(U,V),制作连接它们的三角多边形的网孔。而且,在描绘三角多边形时,参照在三角多边形的顶点上作为信息记录的(U,V)坐标,对三角多边形内部的点使用从它们插值的(U,V)坐标。这样可大幅地节约资源。
[0103]接下来,作为按像素单位的失真校正方式所共有的问题点,可例举画质(分辨率)局部下降的情况。即,如图7的Gl所示,对屏幕SC的面的法线NSl与代理平面PL的法线NP相同或与其接近的状态下的部分,保持高画质。然而,如图7的G2所示,屏幕SC的面的法线NS2和代理平面PL的法线NP的方向偏离,则画质的下降变得显著起来。
[0104]这是因为,如图8所示,随着法线的方向偏离,在投影仪PJ的描绘缓冲器上邻接的像素,在描绘代理平面PL的渲染纹理上未邻接,该偏离方向也变大。在渲染纹理上的像素的偏离方向变大时,双线性等的像素插值不能有效地工作,成为有明显锯齿的图像。
[0105]作为解决这样的问题的方式,考虑增加代理平面的数量的方式。然而,采用该方式时,需要按代理平面增加的量来增加描绘次数,描绘负荷变得过大。
[0106]2.2按顶点单位的失真校正方式
[0107]接着对按描绘物体的顶点单位进行失真校正的方式进行说明。在该方式中,将物体空间内的三维物体的顶点变换为投影仪的描绘缓冲器上的点。具体而言,依次进行图9、下述所示的(I)、(2)、(3)、(4)的处理。这相当于按相反的顺序进行图4的方式的处理。
[0108](I)求出连接物体空间内的三维物体OB的顶点V (XV,YV, ZV)的位置和与游戏者的代表视点对应的假想摄像机VC的位置VP的直线LV。
[0109](2)求出所求得的直线LV和屏幕SC的交点PS (XS,YS,ZS)的位置。在例如屏幕SC用椭圆面的方程式等的数学式表达的情况下,使用表示直线LV的数学式和表示屏幕SC的数学式求出交点PS。
[0110](3)求出连接交点PS (XS,YS, ZS)的位置和投影仪JP的位置的直线LR。
[0111](4)求出与直线LR对应的描绘缓冲器上的点H) (XD,YD)的位置。该点H)相当于与三维物体OB对应的描绘缓冲器上的描绘物体OBD的顶点。此外,在从直线LR求出点PD时,使用投影仪PJ的透镜的特性、配置等光学系统的信息。
[0112]以后,通过进行连接描绘物体OBD的顶点和顶点并涂色的光栅化处理,能够在描绘缓冲器上生成投影图像。
[0113]在按该顶点单位的失真校正方式中,将三维物体OB的顶点一个个地坐标变换为描绘缓冲器上的点。例如,在图10中,对连接物体空间内的点Pl和点P2的直线LN(线段),将该点PU P2分别坐标变换到描绘缓冲器上的点。其后,点P1、P2之间在描绘缓冲器上作为直线进行描绘处理。即在图10的Al中,描绘缓冲器上的点PDl是对物体空间内的点Pl进行坐标变换的点,描绘缓冲器上的点PD2是对物体空间内的点P2进行坐标变换的点。因此,在物体空间内的直线LN,作为在描绘缓冲器上连接点PDl和TO2的直线LND而描绘。
[0114]然而,在投影用的屏幕SC不是平面的情况下,如图10的A2所示,物体空间内的直线LN在描绘缓冲器上未成为直线,而成为曲线CV。因此,使用Al所示的直线插值作为描绘缓冲器上的插值时,游戏者观察其为失真的图像。为了使物体空间内的直线LN在游戏者看到时也是作为直线而被观察到,需要将直线LN如图10的A2所示那样在描绘缓冲器上描绘为曲线CV。因此,例如细致地分割物体空间内的直线LNjn A3所示,通过将分割后的全部的点在描绘缓冲器上进行坐标变换并连接,物体空间内的直线LN在游戏者看到时也被作为直线而观察到。而且,为了不失真地观察多边形内部的纹理,需要对多边形内部也进行充分细致的分割。
[0115]然而,将构成三维物体(模型物体)的大多边形预先细致分割是非常费事的,且存在数据量也增加的问题。而且,在三维物体在远位置而看起来小的状态下,将多边形细致分割是无谓的,造成增加了在描绘时的不必要的负荷。
[0116]2.3采用GPU的着色器程序的变迁
[0117]以往的采用GPU的着色器程序的模型,采用顶点着色器和像素着色器。顶点着色器将描绘物体的物体空间内的(X,Y,Z)坐标变换为描绘平面的(X,Y)坐标。其后,基于该坐标值进行光栅化处理,对每一个成为处理对象的像素,像素着色器参照与(X,Y)对应的纹理坐标(U,V)的颜色等确定最终的像素的颜色。例如,上述的按像素单位的失真校正方式是利用像素着色器的方式,而按顶点单位的失真校正方式是利用顶点着色器的方式。
[0118]而且,在现有的GPU (根据DirectXll)中,如图11所示,在顶点着色器210进行处理后,在向光栅器218移交(X,Y)坐标前的阶段,增加有外壳着色器(〃>.'>工一夕')212、曲面细分器(f > 一夕)214、域着色器216、几何着色器217等的各着色器。利用这些追加的新的功能,根据需要可在描绘时增加顶点,细致地分割多边形等。
[0119]2.4顶点分割处理应用至按顶点单位的校正处理
[0120]因此,在本实施方式中,对按顶点单位的失真校正方式,应用作为对GPU中新追加的功能的顶点分割处理(曲面细分)等,解决在图10中说明的问题点。
[0121]具体而言,首先,图3的顶点分割数设定部110进行顶点分割数的设定处理。该顶点分割数设定部Iio能够利用例如图11的外壳着色器212实现。该外壳着色器212是可编程着色器,能够利用着色器语言编程各种处理来实现。
[0122]接着,顶点分割处理部112对物体空间内的三维物体(三维多边形)按设定的顶点分割数进行顶点分割处理(曲面细分)。该顶点分割处理部112能够利用例如图11的曲面细分器214实现。此外作为对于曲面细分器214的分割数的设定,有在多边形的边缘的分割数的设定和在多边形内部的分割数的设定。在映射至多边形的纹理因与图10同样的理由而失真的情况下,将多边形内部的分割数设定为大的值即可。
[0123]接着,顶点位置运算部114求出连接顶点分割处理后的三维物体的顶点位置与假想摄像机的位置的直线与投影用的屏幕的交点位置。即进行与图9的(I)、(2)对应的处理。然后,顶点位置运算部114基于交点位置(图9的PS),求出关于与三维物体(OB)对应的描绘物体(OBD)的、在描绘缓冲器的顶点位置(PD)。即进行与图9的(3)、(4)对应的处理。该顶点位置运算部114能够利用例如图11的域着色器216实现。域着色器216也是可编程着色器,能够利用着色器语言编程各种处理来实现。此外,求出连接三维物体的顶点位置和假想摄像机的位置的直线以及求出与投影用的屏幕的交点位置的处理等,在例如假想摄像机的摄像机坐标系(视点坐标系)中执行。
[0124]然后,最后描绘部120基于求出的描绘物体的顶点位置,进行将描绘物体描绘至描绘缓冲器176的处理,生成投影用的投影图像。即,进行连接在描绘缓冲器中射影的描绘物体的顶点和顶点并涂色的光栅化,生成投影图像。该描绘部120能够利用例如图11的光栅器218、像素着色器220实现。
[0125]这样,在本实施方式中,有效地利用对GPU新添加的功能,解决了在图10中说明的按顶点单位的失真校正方式中的问题点。由此,例如,即使不准备将三维物体预先分割成多个小多边形的数据,通过利用曲面细分在描绘时动态地进行顶点分割处理,也能够生成校正了失真且抑制了画质的降低的投影图像。即,可抑制数据量的增加、处理负荷的增加并生成失真少且高画质的投影图像。
[0126]此外,在本处理中,几何着色器217并非必须的,当然可在进行另外的处理的情况等中,与本处理并用而灵活应用。
[0127]2.5顶点分割数的设定
[0128]接着,说明本实施方式的顶点分割数的设定方式的细节。如上所述,在以顶点单位进行的失真校正方式中应用顶点分割处理的情况下,存在确定将顶点分割数设定成多细致的程度才足够的基准不明的课题。
[0129]因此在本实施方式中,作为确定这样的顶点分割数的基准的方式,采用以下说明的方式。
[0130]例如在图12中,成为构成顶点分割处理的对象的三维物体OB内的线段的2个顶点设为第一、第二顶点V1、V2。此外,在本实施方式中为了说明的简单化,以三维物体OB由I个四角形的多边形构成的情况为例进行说明。另外,连接第一顶点Vl和假想摄像机VC的位置VP的第一直线LNl,与连接第二顶点V2和假想摄像机VC的位置VP的第二直线LN2所成的角度设为Θ,设顶点分割数为m。
[0131]在该情况下,在本实施方式中,根据角度Θ设定顶点分割数m。例如角度Θ大的话,则增加顶点分割数m,角度Θ小则减少顶点分割数m。
[0132]例如在图13 (A)中,角度Θ = Θ1,在图13 (B)中角度Θ = Θ 2。而且在第一角度Θ I和第二角度Θ 2之间,Θ 2 < Θ I的关系成立。
[0133]在该情况下,在本实施方式中,在角度Θ = Θ I的情况下,将顶点分割数m设定为第一分割数ml,在角度Θ = Θ 2的情况下,设顶点分割数m与第一分割数ml相同,或比其少的第二分割数m2。例如在图13 (A)中m = ml = 3,在图13 (B)中m = m2 = 2,m2 = ml的关系成立。即在图13 (A)中,构成三维物体OB内的线段的第一、第二顶点V1、V2被分割成3份,生成新的顶点V11,V12。另一方面,在图13 (B)中,三维物体OB的第一、第二顶点V1、V2被分割成2份,生成新的顶点VII。此外,与角度Θ是实数相对,由于分割数m实质上是自然数,即使Θ2< Θ I而m2 = ml的情况也较多,故关系式为m2兰ml。
[0134]这样的话,如图13(A)那样,对配置在接近假想摄像机VC的位置的三维物体0B,顶点分割数m (多边形分割数)变多,如图13 (B)那样,对配置在远离假想摄像机VC的位置的三维物体0B,产生顶点分割数m变少的结果。因此,存在能够得到LOD (Level of Detail,细节级别)的效果,并且能够提高描绘效率的优点。
[0135]另外,在图14中,引入作为顶点分割数设定的基准的角度ε (视角),决定分割数m。即如图14所示,设定(确定)顶点分割数m,使得(0/m)< ε的关系式成立。例如在图13 (A)中,Θ为大角度0 1,为了使(0/111)< ε的关系式成立,将顶点分割数m设为大的值,使得m = ml = 3。另一方面,在图13 (B冲,Θ为小的角度Θ 2,故为了使(θ/mX ε的关系式成立,将顶点分割数m设定为小的值,使得m = m2 = 2。
[0136]这样以角度ε为基准来设定顶点分割数m,能够用简单的处理实现顶点分割数m的设定处理,如图13 (A)、图13 (B)所示那样,也可得到LOD的效果等。
[0137]这里,如图15所示那样,优选将从假想摄像机VC的位置估计在屏幕SC的投影图像的像素PX的大小的角度δ设为基准来设定角度ε。例如在图15中设定ε = δ。然后使用以角度δ为基准设定的角度ε来设定顶点分割数m。
[0138]例如以ε =kX δ (例如k兰I)的关系式设定ε。具体而言,如图15所示那样设定ε = δ (k = l)o或者,也可设定ε = δ/2 (k = 1/2)。这样基于角度δ设定角度ε的理由是,存在以下的可能性:即使进行从假想摄像机VC估计的角度变为比I像素小的角度的顶点分割处理,也是仅增大处理负荷而在实现失真校正、高画质化上毫无意义的处理。另外,若以画质为优先则设kf I也是适当的,但在以处理速度优先的情况下,当然设k > I也无妨。
[0139]此外,如图16的Cl、C2所示,在屏幕SC上的投影图像的像素的大小因对屏幕SC的投影位置不同而不同。例如如图16的C2所示,在从投影仪PJ到屏幕SC的距离远的情况下,与Cl所示的距离近的情况相比,在屏幕SC上的投影图像的像素的大小变大。因此,关于从假想摄像机VC估计投影图像的像素的大小的角度δ,也由于投影仪PJ和假想摄像机VC在不同位置,故在Cl的情况和在C2的情况不同,在Cl中δ = 6 1,在02中δ = δ 2,δ I < δ 2的关系式成立。
[0140]这样,投影图像的像素的大小随对屏幕的投影位置不同而不同,所以优选也根据投影位置而改变角度ε。具体而言,根据成为顶点分割处理的对象的三维物体的顶点对屏幕的投影位置,改变角度ε (顶点分割数)。例如在Cl的投影位置中减少角度8,在02的投影位置中增大角度ε。
[0141]这样,若使角度ε可变,在例如更换投影仪PJ等而分辨率变化的情况下,也可进行足够充分地发挥投影仪PJ的性能(分辨率)的描绘。
[0142]在该情况下,例如,可基于假想摄像机VC的位置信息、其时间变化信息、或描绘负荷,改变角度ε (顶点分割数)。例如,在考虑假想摄像机VC的位置变化、游戏场景(游戏舞台)变化的情况下,设定为适合于该游戏场景的角度ε。另外,根据假想摄像机VC的移动速度(位置信息的时间变化信息)、描绘负荷,改变角度ε (顶点分割数)。例如,如上述那样,在表达为ε =kXS的情况下,在假想摄像机VC (为主角摄像机,其位置设定可用头部跟踪等检测游戏者的视点位置而进行反映)的移动速度变快的情况、描绘负荷加重的情况下,增大k并增大角度ε。如上所述,在利用(θ/m) < ε的关系式设定顶点分割数m的情况下,若增大角度ε,则对相同角度Θ,将顶点分割数m设定为小的值。因此,在不追求高画质的场景下,可维持高帧率。相反,在比较缓慢的摄像机工作场景等与追求高帧速相比更追求画质的场面下,可减小k并减小角度ε。
[0143]或者,可根据投影仪的位置信息及其时间变化信息、屏幕的形状及其时间变化信息来改变角度ε (顶点分割数)。例如,若根据投影仪的位置信息改变角度ε,则能够设定与投影仪的设置位置等对应的最佳角度ε。另外若根据投影仪的位置信息、其时间变化信息、屏幕的形状、其时间变化信息设定角度ε,在对例如建筑物等的构造物的投影映射中,可进行灵活的应对。例如,在作为投影映射的对象的构造物的形状等动态变化的情况下,也能够对其进行应对。
[0144]另外,可根据时间要素、三维物体的属性改变角度ε (顶点分割数)。这样,例如可根据游戏空间中的时间经过、在游戏中登场的三维物体的属性(种类)等,使角度ε变化,能够提供适于游戏用的投影图像的生成等的方式。
[0145]接着,使用图17的流程图说明本实施方式的处理(图像生成方法)的详细例子。
[0146]首先,基于顶点的对屏幕的投影位置、假想摄像机的位置信息或其时间变化信息、投影仪的位置信息或其时间变化信息、屏幕的形状或其时间变化信息、描绘负荷、时间要素或三维物体的属性等设定角度ε (步骤SI)。而且基于角度ε设定顶点分割数(步骤S2)。
[0147]接着,按设定的顶点分割数进行顶点分割处理(步骤S3)。然后,求出连接顶点分割处理后的三维物体的顶点位置和假想摄像机的位置的直线与屏幕的交点位置(步骤S4)。
[0148]接着,基于求出的交点位置求出在描绘缓冲器的描绘物体的顶点位置(步骤S5)。而且,基于求出的顶点位置进行光栅化,生成投影图像(步骤S6)。
[0149]此外,本实施方式的方式也能够适用于立体视图用的投影图像的生成。例如在生成立体视图用的投影图像的情况下,如图18 (A)所示,准备左眼用假想摄像机VCL (广义上为第一视点用假想摄像机)和右眼用假想摄像机VCR (广义上为第二视点用假想摄像机)。然后,分别使用左眼用假想摄像机VCL、右眼用假想摄像机VCR,利用在本实施方式说明的方式生成投影图像,能生成立体视图用的投影图像。
[0150]左眼用假想摄像机VCL、右眼用假想摄像机VCR的位置可利用头部跟踪等检测游戏者的左眼及右眼的位置来设定。
[0151]另外,即使在不能够进行游戏者的左眼及右眼的位置的检测的情况下,根据成为描绘对象的三维物体的投影位置,也能够在某种程度上推测游戏者的视点位置,所以能与其匹配地设定左眼用假想摄像机VCL、右眼用假想摄像机VCR的位置。例如,如图18 (B)、图18 (C)所示,可根据成为描绘对象的三维物体的投影位置改变左眼用假想摄像机VCL、右眼用假想摄像机VCR的位置(视点位置)。
[0152]例如,考虑到对于投影到图18 (B)的Dl所示的投影位置的三维物体,看到它的游戏者(视听者)也面向Dl所示的投影位置的方向。因此,如图18 (B)所示,设定左眼用假想摄像机VCL、右眼用假想摄像机VCR的位置,生成立体视图用的投影图像。
[0153]同样,考虑到对于投影到图18 (C)的D2所示的投影位置的三维物体,看到它的游戏者也面向D2所示的投影位置的方向。因此,如图18 (C)所示,设定左眼用假想摄像机VCL、右眼用假想摄像机VCR的位置而生成立体视图用的投影图像。这样,能够生成与游戏者的视线方向等对应的最佳投影图像。
[0154]此外,作为实际观察立体视图影像的手段,可考虑眼镜方式(具体而言,偏振方式、时分方式、分光方式等)及裸眼方式等。它们各有特征,有利及不利的环境条件也各不相同。在实施时,根据屏幕的形状、显示内容、相互作用的特征等的环境条件使用适当的方式即可。
[0155]2.6实时投影映射
[0156]接着,对从模型数据高速且准确地生成投影映射用的变换数据的方式进行说明。
[0157]为了简化说明,考虑如图19 (A)所示的模型。设投影用的屏幕为立方体形状。当然,假设实际的屏幕是更复杂的形状。称该屏幕为立体屏幕SCS。另外,要显示的假想物体OBS是球状的物体,用多边形的网孔表示。而且如图19 (B)所示,希望描绘假想物体0BS,使得它看起来像进入了立体屏幕SCS中。
[0158]接下来,穹顶投影能够通过使用椭圆面作为屏幕形状来近似的情况较多,椭圆面的数学式简单,故容易求出与视线的交点、与投影仪的投射直线的交点等。然而,在一般性投影映射的情况下,存在立体屏幕的形状模型不能够用简单的数学式表示的情况较多的问题。另外,即使是穹顶投影的情况,由于制造上的状况等,也有与椭圆面部分地形状不同的情况,存在对该部分难以进行失真校正的问题。
[0159]为了解决这样的问题,在进行对建筑物等的投影映射时,常常使用实际试映投影图像而调整的方式。
[0160]例如与在图5中说明的穹顶投影的情况相同,适当选择用于临时投影假想物体的代理平面。然后根据游戏者(观察者)的位置生成将立体屏幕的形状渲染( > > 夕' 'J > η到代理平面的图像。此时,生成明确强调立体屏幕的形状的边缘的图像后,后续的调整比较容易。
[0161]将该图像实际地从投影仪投向屏幕。在该情况下,从游戏者的位置来看,投影到立体屏幕的边缘偏移。因此,以该边缘完全匹配的方式,用编辑软件移动图像上的顶点。该移动的图像,成为在上述的2.1说明的使网孔的顶点和UV坐标对应的数据(这里称其为“网孔状的UV图”)。以后,以代理平面作为射影面来普通地渲染CG图像,用投影仪放映使用“网孔状的UV图”变换的图像即可。
[0162]作为该方式的问题点,可举出每次为了在那里匹配,在准备上要花费时间和劳力。另外,在立体屏幕是带有复杂的凹凸的形状的情况下,用于调整的顶点数变多,更加费事。或者,存在复杂的凹凸部分的校正的精度下降的问题。
[0163]因此,在本实施方式中,在预先知道立体屏幕SCS的形状作为形状数据的情况下,无需进行逐一手动调整顶点来匹配的麻烦,就能提供高速且准确地进行失真的校正的方式。这里,对适用于图9的以顶点单位进行失真校正的情况的方式进行说明。在该方式中,依次执行图20、下述所示的(I)、(2)、(3)、(4)、(5)的处理。
[0164](I)将假想摄像机VC置于游戏者的代表视点的位置,设定代理平面PLS,用Z缓冲器法渲染立体屏幕SCS的形状。此时,在Z缓冲器中,从假想摄像机VC的位置到立体屏幕SCS的距离作为深度图像而残留,所以此后能够求出立体屏幕SCS的面的空间坐标。将这作为纹理被保持起来。
[0165](2)用与在(I)中进行渲染时的射影变换矩阵相同的射影变换矩阵变换假想物体OBS的各顶点(X,Y,Z),来求出在(I)中要保持的纹理上的位置(XI,Y1)。
[0166](3 )如果参照与位置(XI,YI)对应的纹理上的空间坐标值,则获知各顶点和立体屏幕SCS的交点的空间坐标。
[0167](4)求出连接在上述的(3)中求出的交点和投影仪PJ的直线LPS,计算与其对应的描绘缓冲器上的位置(X,Y)。
[0168](5)这样,能将各顶点的位置变换到描绘缓冲器上的位置(X,Y),所以将其转移至光栅器,进行通常的渲染处理,生成投影图像并利用投影仪PJ进行投影。在该情况下适当进行作为假想物体OBS的多边形的顶点分割处理的曲面细分。
[0169]这样在图20的方式中,通过在假想摄像机(VC)的视点坐标系描绘与屏幕的形状对应的屏幕模型物体(SCS),生成对每个像素或对屏幕模型物体的每个顶点设定了深度值(Z值)的深度图像(Z缓冲器的纹理)。然后,将三维物体(OBS)的顶点的第一、第二坐标((X,Y))通过射影变换矩阵变换至视点坐标系(vc的坐标系),基于变换后的第一、第二坐标((XI,Yl))参照深度图像(Ζ缓冲器的纹理)的深度值,求出与屏幕(SCS)的交点位置。
[0170]此外,实际上,由于立体屏幕的设置引起的位置、角度的偏移,以及游戏者的位置、投影仪的位置的偏移难以进行精确校正。因此,与上述的方式同样,优选渲染立体屏幕的边缘显眼的图像,用投影仪放映它来进行调整。
[0171]然而,在本实施方式的方式中,只要立体屏幕的形状数据是某种程度准确的,则可利用立体屏幕的位置和方向、投影仪的位置和方向、游戏者的代表视点的位置之类的少数参数进行调整。特别是,在立体屏幕的形状复杂的情况下,顶点的数量较多,与以顶点为调整点逐个动态进行调整相比,能够以极少的工夫、时间来进行调整。
[0172]另外,作为以往使用的另外的方法,有如下方法:通过距离测量机等测量投影用的屏幕的形状来生成形状数据,与本实施方式同样地进行失真校正。然而在该情况下,存在这样的缺点:由于包含有测量上的误差,故难以取得准确的形状数据,结果不能够准确地进行失真校正。测量上花时间的话,能够提高形状数据的精度,但在投影用的屏幕的形状变化的情况下,难以实时地获得准确的失真校正数据。若预先得到准确的形状数据、运动的信息,则通过采用本实施方式的方法,可实时地进行失真校正,即可进行投影映射。
[0173]这样,依据图20所示的本实施方式的方式,有如下的优点:能够在一瞬间(I次渲染)进行以往必须花长时间进行的、调整用的图的生成。作为发挥该优越性的例子,可举出立体屏幕、投影仪、游戏者的3者中的任一个或多个同时运动的情况。
[0174]若能活用运动传感器、头部跟踪系统准确地求出3者的位置、方向,则可考虑以下的应用。
[0175]例如将手办(7 〃 ¥ - 7)或塑料模型等作为立体屏幕使用,承载于旋转台上,投影与其旋转角度对应的校正图像。
[0176]或者,让机器人成为立体屏幕。从机器人动作时的关节的角度等求出那时的准确形状(顶点的位置),投影与其对应的校正图像。
[0177]或者,配置多个投影仪,使得对立体屏幕旋转也不会产生阴影。通过对游戏者进行头部跟踪,投影与运动对应的校正图像,使得即使围绕立体屏幕也能自然地看到。
[0178]或者,游戏者持有手电筒型投影仪(或戴上装备了头灯状的投影仪的头盔),在对屋中的物体照射光的吸引(attract1n)中投影与游戏者的位置及投影仪的位置和方向对应的校正图像。
[0179]此外,在图20中,说明了对以三维物体的顶点为单位进行的失真校正方式应用根据模型数据生成投影映射用的变换数据的方式的例子,该方式也可应用于在图4中说明的按描绘缓冲器的像素单位的失真校正方式。
[0180] 此外,详细地说明了如上所述本实施方式,但本领域技术人员很容易理解的是,可进行并未实际脱离本发明的新的事项及效果的诸多变形。因此,这样的变形例全包括在本发明的范围内。例如,在说明书或附图中,至少一次与更广义或同义的不同术语一起记载的术语,在说明书或附图的任何部位都能置换为该不同术语。另外,顶点分割数的设定方式、顶点分割处理方式、顶点位置的运算方式、角度ε的设定方式等并不限于在本实施方式中所说明的,与这些等同的方式也包含在本发明的范围中。另外,本发明能够适用于各种的游戏。另外,本发明能够适用于业务用游戏系统、多个游戏者参加的大型吸引系统等的各种的图像生成系统。
[0181][附图标记说明]
[0182]SC屏幕,PJ投影仪,VC假想摄像机,VP假想摄像机的位置,OB三维物体,OBD描绘物体,LV, LR直线,
[0183]V顶点,PS交点,LN1,LN2第一,第二直线,θ,ε角度,
[0184]I游戏系统,100处理部,102游戏运算部,
[0185]104物体空间设定部,106移动体运算部,108假想摄像机控制部,110顶点分割数设定部,112顶点分割处理部,114顶点位置运算部,
[0186]120描绘部,130声音生成部,
[0187]160操作部,170存储部,172物体数据存储部,
[0188]176描绘缓冲器,178 Z缓冲器,180信息存储介质,190显示部,192声音输出部,194辅助存储装置,196通信部,
[0189]1002游戏者座椅,1004屏幕,1006投影仪,
[0190]1008手柄,1009刹车踏板,1010加速踏板,
[0191] 1012支柱,1014筐体帧,1020控制基板
【权利要求】
1.一种图像生成系统,其特征在于,包括: 顶点分割数设定部,进行顶点分割数的设定处理; 顶点分割处理部,对物体空间内的三维物体,以由所述顶点分割数设定部设定的所述顶点分割数进行顶点分割处理; 顶点位置运算部,求出连接所述顶点分割处理后的所述三维物体的顶点位置和假想摄像机的位置的直线与投影用的屏幕的交点位置,基于求出的所述交点位置,求出关于与所述三维物体对应的描绘物体的、在描绘缓冲器的顶点位置;以及 描绘部,基于求出的所述描绘物体的所述顶点位置,进行将所述描绘物体描绘于所述描绘缓冲器的处理,生成投影用的投影图像。
2.根据权利要求1所述的图像生成系统,其特征在于, 在将构成作为所述顶点分割处理的对象的所述三维物体内的线段的2个顶点设为第一顶点和第二顶点、连接所述第一顶点和所述假想摄像机的位置的第一直线与连接所述第二顶点和所述假想摄像机的位置的第二直线所成的角度设为Θ、所述顶点分割数设为m的情况下, 所述顶点分割数设定部根据所述角度Θ设定所述顶点分割数m。
3.根据权利要求2所述的图像生成系统,其特征在于, 在所述角度Θ是第一角 度Θ I的情况下,所述顶点分割数设定部将所述顶点分割数m设为第一分割数ml,在所述角度Θ为第二角度Θ2 (Θ2< Θ I)的情况下,所述顶点分割数设定部将所述顶点分割数m设为第二分割数m2 (m2 ^ ml)。
4.根据权利要求2所述的图像生成系统,其特征在于, 所述顶点分割数设定部根据作为所述顶点分割处理的对象的所述三维物体的顶点的对所述屏幕的投影位置、所述假想摄像机的位置信息、所述假想摄像机的所述位置信息的时间变化信息、投影仪的位置信息、所述投影仪的所述位置信息的时间变化信息、所述屏幕的形状、所述屏幕的所述形状的时间变化信息、描绘负荷、时间要素及所述三维物体的属性中的至少一个改变所述顶点分割数m相对于所述角度Θ的设定。
5.根据权利要求1所述的图像生成系统,其特征在于, 在将构成作为所述顶点分割处理的对象的所述三维物体内的线段的2个顶点设为第一顶点和第二顶点、连接所述第一顶点和所述假想摄像机的位置的第一直线与连接所述第二顶点和所述假想摄像机的位置的第二直线所成的角度设为Θ、所述顶点分割数设为m、作为顶点分割数设定的基准的角度设为ε的情况下, 所述顶点分割数设定部设定所述顶点分割数m,使得(Θ /m) < ε。
6.根据权利要求5所述的图像生成系统,其特征在于, 在将从所述假想摄像机的位置估计在所述屏幕上的所述投影图像的像素的大小的角度设为S的情况下, 所述顶点分割数设定部使用以所述角度S为基准设定的所述角度ε来设定所述顶点分割数m。
7.根据权利要求5所述的图像生成系统,其特征在于, 所述顶点分割数设定部根据作为所述顶点分割处理的对象的所述三维物体的顶点的对所述屏幕的投影位置、所述假想摄像机的位置信息、所述假想摄像机的所述位置信息的时间变化信息、投影仪的位置信息、所述投影仪的所述位置信息的时间变化信息、所述屏幕的形状、所述屏幕的所述形状的时间变化信息、描绘负荷、时间要素及所述三维物体的属性中的至少一个来改变所述角度ε。
8.根据权利要求1至7的任一项所述的图像生成系统,其特征在于, 所述描绘部通过在所述假想摄像机的视点坐标系描绘与所述屏幕的形状对应的屏幕模型物体,生成对每个像素或对所述屏幕模型物体的每个顶点设定了深度值的深度图像, 所述顶点位置运算部通过至所述视点坐标系的射影变换矩阵变换所述三维物体的顶点的第一坐标和第二坐标,基于变换后的所述第一坐标和所述第二坐标参照所述深度图像的所述深度值,求出与所述屏幕的所述交点位置。
9.根据权利要求1至7中任一项所述的图像生成系统,其特征在于, 所述屏幕是由I个曲面或多个面构成的屏幕。
10.一种图像生成方法,其特征在于,包括: 顶点分割数设定 步骤,进行顶点分割数的设定处理; 顶点分割处理步骤,对物体空间内的三维物体,以由所述顶点分割数设定步骤设定的所述顶点分割数进行顶点分割处理; 顶点位置运算步骤,求出连接所述顶点分割处理后的所述三维物体的顶点位置和假想摄像机的位置的直线与投影用的屏幕的交点位置,基于求出的所述交点位置,求出关于与所述三维物体对应的描绘物体的、在描绘缓冲器的顶点位置;以及 描绘步骤,基于求出的所述描绘物体的所述顶点位置,进行将所述描绘物体描绘到所述描绘缓冲器的处理,生成投影用的投影图像。
【文档编号】H04N9/31GK104077801SQ201410124526
【公开日】2014年10月1日 申请日期:2014年3月28日 优先权日:2013年3月29日
【发明者】永濑润, 柿泽高弘, 石井源久, 菊池徹 申请人:株式会社万代南梦宫游戏
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1