CN100533384C - 三维计算机绘图的着色编译系统及方法 - Google Patents
三维计算机绘图的着色编译系统及方法 Download PDFInfo
- Publication number
- CN100533384C CN100533384C CNB2006101275149A CN200610127514A CN100533384C CN 100533384 C CN100533384 C CN 100533384C CN B2006101275149 A CNB2006101275149 A CN B2006101275149A CN 200610127514 A CN200610127514 A CN 200610127514A CN 100533384 C CN100533384 C CN 100533384C
- Authority
- CN
- China
- Prior art keywords
- mentioned
- correspondence code
- code
- modifier
- parameter
- 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.)
- Active
Links
Images
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
本发明提供一种三维计算机绘图的着色编译系统及方法,用以产生相应于脚本指令的硬件指令机器码。此方法包含提供操作命令对应码以及参数对应码,通过对该操作命令对应码与该参数对应码执行一“或”逻辑运算,即OR逻辑运算,以产生硬件指令机器码。其中,操作命令对应码表示脚本指令中的操作命令,参数对应码表示关联于操作命令的参数。本发明所述的计算机绘图的着色编译系统及方法,用以在产生硬件指令的过程中,减少使用条件分支逻辑,减少资源消耗。
Description
技术领域
本发明是有关于一种绘图技术,特别是有关于可适用于三维计算机绘图的着色编译系统及方法。
背景技术
在计算机绘图技术中,描图(rendering)是指将数据库中的三维对象,转换成视平面上的二维投影的程序,其主要包括建立多边形模型(polygon model),处理显示多边形和不显示多边形以及着色(shading)程序等等。
一般的绘图芯片/芯片组(graphics chip/chipset)通常会提供一个编译器(compiler),用以接收使用者所提供的脚本指令(scripts),接着转换成绘图芯片/芯片组所认识的硬件指令。
传统的编译器中通常会包含许多条件分支(conditionbranches)逻辑来决定使用者所要执行的操作(operations)、执行操作所需的参数(arguments)以及每一个参数所拥有的修饰符(modifiers),并在相应条件分支的程序逻辑中决定其所对应的硬件指令。图1是表示已知编译器的程序码示意图,其中,包含判断操作的条件分支逻辑111与113,判断参数的条件分支逻辑121至127,以及判断修饰符的条件分支逻辑131至137等。然而,过多的条件分支逻辑会大量消耗运算资源(computational power)。因此,需要一种计算机绘图的着色编译系统及方法,用以在产生硬件指令的过程中,减少使用条件分支逻辑,减少资源消耗。
发明内容
有鉴于此,本发明的目的为提供一种计算机绘图的着色编译系统及方法,用以在产生硬件指令的过程中,减少使用条件分支逻辑,减少资源消耗。
本发明揭露一种三维计算机绘图的着色编译方法,用以产生相应于脚本指令的硬件指令机器码。此方法包含提供操作命令对应码以及参数对应码,通过对操作命令对应码与参数对应码执行一“或(OR)”逻辑运算以产生硬件指令机器码。其中,操作命令对应码表示脚本指令中的操作命令,参数对应码表示关联于操作命令的参数,上述硬件指令机器码于一第一位区间储存上述操作命令的信息,于一第二位区间储存上述参数的信息,上述操作命令对应码中于不属于上述第一位区间的位皆储存“0”,上述参数对应码中于不属于上述第二位区间的位皆储存“0”;提供一操作命令对应记录,包含定义于一脚本指令集的上述操作命令,以及上述操作命令所对应的上述操作命令对应码的信息;以及通过检索上述操作命令对应记录来取得上述操作命令所对应的上述操作命令对应码。
本发明所述的三维计算机绘图的着色编译方法,更包括:提供一修饰符对应码,上述修饰符对应码表示关联于上述参数的一修饰符,上述硬件指令机器码于一第三位区间储存上述修饰符的信息,上述修饰符对应码中于不属于上述第三位区间的位皆储存“0”;以及通过对上述操作命令对应码、上述参数对应码与上述修饰符对应码执行一“或”逻辑运算来产生上述硬件指令机器码。
本发明所述的三维计算机绘图的着色编译方法,更包括:提供一修饰符对应记录,包含定义于一脚本指令集的上述修饰符,以及上述修饰符所对应的上述修饰符对应码的信息;以及通过检索上述修饰符对应记录来取得上述修饰符所对应的上述修饰符对应码。
本发明所述的三维计算机绘图的着色编译方法,上述操作命令对应码与上述参数对应码的长度相同于上述硬件指令机器码的长度。
本发明所述的三维计算机绘图的着色编译方法,更包括:提供一参数对应记录,包含定义于一脚本指令集的上述参数,以及上述参数所对应的上述参数对应码的信息;以及通过检索上述参数对应记录来取得上述参数所对应的上述参数对应码。
本发明另揭露一种计算机可读取储存介质,储存一个计算机程序,该计算机程序用以载入至一个处理单元中并且使得该处理单元执行如上所述的三维计算机绘图的着色编译方法。
本发明还揭露一种三维计算机绘图的着色编译系统,该三维计算机绘图的着色编译系统,用以产生相应于一脚本指令的一硬件指令机器码,该着色编译系统包括:用于提供一操作命令对应码以及一参数对应码的一提供单元,上述操作命令对应码表示上述脚本指令中的一操作命令,上述参数对应码表示关联于上述操作命令的一参数,上述硬件指令机器码于一第一位区间储存上述操作命令的信息,于一第二位区间储存上述参数的信息,上述操作命令对应码中于不属于上述第一位区间的位皆储存“0”,上述参数对应码中于不属于上述第二位区间的位皆储存“0”;以及对上述操作命令对应码与上述参数对应码执行一“或”逻辑运算来产生上述硬件指令机器码的一运算单元;用于提供一操作命令对应记录的一存储单元,该操作命令对应记录包含定义于一脚本指令集的上述操作命令,以及上述操作命令所对应的上述操作命令对应码的信息;以及检索上述操作命令对应记录来取得上述操作命令所对应的上述操作命令对应码的一检索单元。
本发明所述的三维计算机绘图的着色编译系统,操作命令对应码与参数对应码的长度相同于硬件指令机器码的长度。
本发明所述的三维计算机绘图的着色编译系统,上述提供单元更提供一修饰符对应码,通过对上述操作命令对应码、上述参数对应码与上述修饰符对应码执行一“或”逻辑运算来产生上述硬件指令机器码,以及上述修饰符对应码表示关联于上述参数的一修饰符;硬件指令机器码可于第三位区间储存修饰符的信息,修饰符对应码中于不属于第三位区间的位皆储存“0”。
本发明所述的三维计算机绘图的着色编译系统,上述存储单元还提供一修饰符对应记录,上述检索单元通过检索上述修饰符对应记录来取得上述修饰符所对应的上述修饰符对应码,上述修饰符对应记录包含定义于一脚本指令集的上述修饰符,与上述修饰符所对应的上述修饰符对应码的信息。
本发明所述的三维计算机绘图的着色编译系统,上述存储单元还提供一参数对应记录,上述检索单元通过检索上述参数对应记录来取得上述参数所对应的上述参数对应码,上述参数对应记录包含定义于一脚本指令集的上述参数,与上述参数所对应的上述参数对应码的信息。
本发明所述的三维计算机绘图的着色编译系统,修饰符对应码的长度相同于硬件指令机器码的长度。
本发明所述的计算机绘图的着色编译系统及方法,用以在产生硬件指令的过程中,减少使用条件分支逻辑,从而减少资源消耗。
附图说明
图1是表示已知编译器的程序码示意图;
图2是表示依据本发明实施例的三维计算机绘图的流水线示意图;
图3是表示依据本发明实施例的三维计算机绘图的着色编译系统;
图4、图5是表示依据本发明实施例的三维计算机绘图的着色编译方法的方法流程图;
图6是表示依据本发明实施例的硬件指令机器码格式示意图;
图7是表示依据本发明实施例的操作命令对应表示意图;
图8a、图8b、图8c是表示依据本发明实施例的三个范例参数对应表示意图;
图9a、图9b、图9c是表示依据本发明实施例的三个范例修饰符对应表示意图;
图10是表示依据本发明实施例的三维计算机绘图的着色编译的储存介质示意图;
图11、图12是表示依据本发明实施例的三维计算机绘图的着色编译示意图。
具体实施方式
图2是表示依据本发明实施例的三维计算机绘图的流水线示意图(pipeline diagram)。此流水线20用以将几何图案数据(geometric data)转换成可供视频显示器描绘(rendering)的影像(image)。铺嵌阶段(tessellation stage)STG1用以将芯片/芯片组预先定义且固定数量的高阶原始几何图形(higher-orderprimitives)转换为三角形(triangles),此高阶原始几何图形可包括三角形图面(triangle patches)、矩形图面(rectangle patches)、多边形图面(polygon patches)等。当使用越多的三角形来表示一个图面时,其所描绘的图形会越真实,但却需要更多的运算资源。
转换与打光阶段STG2将顶点位置与法向量(vertex positionsand normals)由模型坐标系统(model coordinate system)转换到影像世界坐标系统(world and camera coordinate system)。转换代表空间上坐标的转换操作,例如,包含于虚拟世界中移动三维对象并且将三维坐标(3D coordinates)转换成二维视图(2Dview)。投射转换方法会将顶点位置进行转换,用以建立透视(perspective)、正投影(orthographic)或其他类型的投射。打光代表于一个虚拟情境中取得光源对象(light objects),并且计算当光线投射到3D对象所产生的表面颜色。此阶段中执行逐点打光计算(per-vertex lighting calculations)来决定反射与扩散颜色成分(specular and diffuse color component)。此阶段中又可包含两种操作,分别为固定功能的转换与打光操作(fixed-functiontransform and lighting)OP21以及可程序化的顶点着色操作(programmable vertex shader)OP23,有利于应用程序(application)使用芯片/芯片组所提供各式各样的转换与打光功能。
像素化阶段(rasterization)STG3用以将包含多个顶点位置与法向量的向量集合(vector)转换成用以显示图形的像素(pixels)。于像素化阶段STG3中,属于对象且无法在影像世界(camera)所看见的顶点会被修剪(clipped)掉。可执行背平面消除(back-faceculling)方法,来避免对无法出现在影像世界的三角形进行像素化。可执行属性评估(attribute evaluation)方法,用以组态并选择将在此阶段使用的特定演算法。最后才执行像素化方法以实际描绘出像素。
像素处理阶段STG4用以决定像素的颜色。此阶段中又可包含两种操作,分别为固定功能的多层次贴图操作(fixed-functionmulti-texturing)OP41以及可程序化的像素着色操作(programmable pixel shader)OP43,有利于应用程序(application)使用芯片/芯片组所提供的各式各样的像素处理功能。固定功能的多层次贴图操作透过提供序列的贴图步骤(texturing stages),来让应用程序可执行既定数量的高阶操作(high-level operations)来决定像素上的颜色与透明度值(colorand alpha values)。可程序化的像素着色器操作提供更富弹性的自定义汇编语言(custom assembly language),来让应用程序可执行低阶操作(low-level operations)来决定像素上的颜色与透明度值。
画面缓冲区处理阶段STG5会操作一组存储区域,包含熟知的描绘表面缓冲区(render surface buffer)、深度缓冲区(depthbuffer)以及模板缓冲区(stencil buffer)等。
图3是表示依据本发明实施例的三维计算机绘图的着色编译系统30的硬件架构图。三维计算机绘图的着色编译系统30包括处理单元31、存储装置33与图形处理集成电路(graphic processIC)35,并使用总线37将其连接在一起。存储装置33包含只读存储装置(read only memory;ROM)、快闪存储装置(flash memory)以及/或随机存取存储装置(rando maccess memory;RAM),提供储存空间,用以储存可供处理单元31执行的程序模块、数据、文件以及记录。图形处理集成电路35提供各式各样的硬件线路,用以完成流水线20中所包含任一个阶段所需要的处理逻辑电路。
图4是表示依据本发明实施例的三维计算机绘图的着色编译方法的方法流程图,此方法由处理单元31执行,于较佳的情况下,应用于固定功能的多层次贴图操作OP41中,用以产生图形处理集成电路35所需要的硬件指令机器码。于步骤S41,提供操作命令对应码以及参数对应码。操作命令对应码表示脚本指令中的操作命令,以及参数对应码表示关联于操作命令的参数。于步骤S43,通过对操作命令对应码与参数对应码执行一“或”逻辑运算来产生硬件指令机器码。
图5是表示依据本发明实施例的三维计算机绘图的着色编译方法的方法流程图,此方法由处理单元31执行,于较佳的情况下,应用于固定功能的多层次贴图操作OP41中,用以产生图形处理集成电路35所需要的硬件指令机器码。图6是表示依据本发明实施例的硬件指令机器码格式60示意图,包括操作命令(operation)61、参数(arguments)63a至63c与修饰符(modifiers)65a至65c。于多层次贴图操作中的一个贴图操作的硬件指令中,0~7位储存有关操作命令61的信息;8~11位储存有关操作命令所需要的第一参数的信息;12~15位储存有关操作命令所需要的第二参数的信息;16~19位储存有关操作命令所需要的第三参数的信息;20~23位储存有关第一参数的修饰符的信息;24~27位储存有关第二参数的修饰符的信息;以及28~31位储存有关第三参数的修饰符的信息。
于步骤S511,取得关联于多层次贴图操作中的一个贴图操作所需要的变量,包括操作命令、参数与修饰符等。本领域技术人员皆了解,三维计算机绘图的着色编译器通常可包括一个脚本指令分析器(script parser),用以接收使用者提供的多个脚本指令,并分析出关联于多层次贴图操作中的一个贴图操作所需的变量,接着,将这些分析出的变量储存于存储装置33中,以供步骤S511使用。
于步骤S513,取得关联于上述操作的一个操作命令。于步骤S515,检索操作命令对应表(记录)来取得相应于操作命令的一个指令对应码。图7是表示依据本发明实施例的操作命令对应表70示意图,包含八笔操作命令对应记录71至78。每一笔操作命令对应记录包括定义于一个脚本指令集(script instruction set)的操作命令70a以及此命令所对应的对应码70b的信息。其中,所有记录的对应码70b的长度与硬件指令60的长度相同,并且,0~7位(相应于图6的硬件指令格式60)储存有关硬件指令的操作命令的信息,8~31位皆储存“0”。
参考图5,于步骤S521,取得关联于上述操作命令的至少一个参数。于步骤S523,检索参数对应表(记录)来取得相应于每一个参数的一个参数对应码。图8a是表示依据本发明实施例的范例第一参数对应表81示意图,包含五笔第一参数对应记录811至815。每一笔第一参数对应记录包括定义于一个脚本指令集的参数识别码81a以及此识别码所对应的对应码81b的信息。其中,所有记录的对应码81b的长度与硬件指令60的长度相同,并且,8~11位(相应于图6的硬件指令格式60)储存有关硬件指令的第一参数的信息,其余位皆储存“0”。图8b是表示依据本发明实施例的范例第二参数对应表83示意图,包含五笔第二参数对应记录831至835。每一笔第二参数对应记录包括定义于一个脚本指令集的参数识别码83a以及此识别码所对应的对应码83b。其中,所有记录的对应码83b的长度与硬件指令60的长度相同,并且,12~15位(相应于图6的硬件指令格式60)储存有关硬件指令的第二参数的信息,其余位皆储存“0”。图8c是表示依据本发明实施例的范例第三参数对应表85示意图,包含五笔第三参数对应记录851至855。每一笔第三参数对应记录包括定义于一个脚本指令集的参数识别码85a以及此识别码所对应的对应码85b。其中,所有记录的对应码85b的长度与硬件指令60的长度相同,并且,16~19位(相应于图6的硬件指令格式60)储存有关硬件指令的第三参数的信息,其余位皆储存“0”。
参考图5,于步骤S531,取得关联于上述参数的一个修饰符(若参数拥有修饰符时)。于步骤S533,检索修饰符对应表(记录)来取得相应于每一个修饰符的一个修饰符对应码。图9a是表示依据本发明实施例的范例第一修饰符对应表91示意图,包含四笔第一修饰符对应记录911至914。每一笔第一修饰符对应记录包括定义于一个脚本指令集的修饰符识别码91a以及此识别码所对应的对应码91b的信息。其中,所有记录的对应码91b的长度与硬件指令60的长度相同,并且,20~23位(相应于图6的硬件指令格式60)储存有关硬件指令的第一修饰符的信息,其余位皆储存“0”。图9b是表示依据本发明实施例的范例第二修饰符对应表93示意图,包含四笔第二修饰符对应记录931至934。每一笔第二修饰符对应记录包括定义于一个脚本指令集的修饰符识别码93a以及此识别码所对应的对应码93b。其中,所有记录的对应码93b的长度与硬件指令60的长度相同,并且,24~27位(相应于图6的硬件指令格式60)储存有关硬件指令的第二修饰符的信息,其余位皆储存“0”。图9c是表示依据本发明实施例的范例第三修饰符对应表95示意图,包含四笔第三修饰符对应记录951至954。每一笔第三修饰符对应记录包括定义于一个脚本指令集的修饰符识别码95a以及此识别码所对应的对应码95b。其中,所有记录的对应码95b的长度与硬件指令60的长度相同,并且,28~31位(相应于图6的硬件指令格式60)储存有关硬件指令的第三修饰符的信息,其余位皆储存“0”。
参考图5,于步骤S541,执行一“或”逻辑运算(bitwise ORoperation)来运算所有检索到的指令对应码、参数对应码与修饰符对应码,用以产生相应于此贴图操作的机器码(亦即是硬件指令机器码)。于步骤S543,将产生的贴图操作机器码传递至图形处理集成电路35,用以驱动图形处理集成电路35完成相应的贴图操作。
再者,本发明提出一种储存介质,用以储存一计算机程序,上述计算机程序用以实现三维计算机绘图的着色编译方法,此方法会执行如上所述的步骤。图10是表示依据本发明实施例的三维计算机绘图的着色编译的储存介质示意图。此储存介质1000,用以储存三维计算机绘图的着色编译计算机程序1020。
以下更举出两个实例来说明三维计算机绘图的着色编译方法的实际运作情形。图11是表示依据本发明实施例的三维计算机绘图的着色编译示意图,用以显示将使用者所提供的脚本指令“StageO:Add Texture[O]Diffuse”1100转换成贴图操作机器码的过程。参考图5,于步骤S511,取得关联于一个贴图操作的脚本指令1100的操作命令“Add”1111、第一参数“Texture”1121与第二参数“Diffuse”1131。于步骤S513与S515,参考图7的记录71,取得相应于操作命令的指令对应码“0x01000000”1113。于步骤S521与S523,参考图8a的记录814与图8b的记录832,取得相应于第一与第二参数的参数对应码“0x00400000”1123与“0x00020000”1133。于步骤S541,执行逻辑“或”运算来运算所有检索到的操作命令对应码1113与参数对应码1123与1133,用以产生相应于此脚本指令1100的硬件指令机器码“0x01420000”1141。
图12是表示依据本发明实施例的三维计算机绘图的着色编译示意图,用以显示将使用者所提供的脚本指令“Stagel:MulTexture[1]Abs(Current)”1200转换成贴图操作机器码的过程。参考图5,于步骤S511,取得关联于一个贴图操作的脚本指令1200的操作命令“Mul”1211、第一参数“Texture”1221、第二参数“Current”1241与第二修饰符“Abs”1231。于步骤S513与S515,参考图7的记录72,取得相应于操作命令的操作命令对应码“0x02000000”1213。于步骤S521与S523,参考图8a的记录814与图8b的记录831,取得相应于第一与第二参数的参数对应码“0x00400000”1223与“0x00010000”1243。于步骤S531与S533,参考图9b的记录932,取得相应于第二修饰符的修饰符对应码“0x00000020”1233。于步骤S541,执行一“或”逻辑运算来运算所有检索到的操作命令对应码1213、参数对应码1223、1243与修饰符对应码1233,用以产生相应于此脚本指令1200的硬件指令机器码“0x02410020”1251。
以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。
附图中符号的简单说明如下:
111、113、121、123、125、127、131、133、135、137:条件分支逻辑
20:流水线
D1:顶点数据
D2:图形基本数据
STG1:铺嵌
STG2:转换与打光
STG3:像素化
STG4:像素处理
STG5:画面缓冲区处理
OP21:固定功能的转换与打光操作
OP23:可程序化的顶点着色操作
OP41:固定功能的多层次贴图操作
OP43:可程序化的像素着色操作
30:三维计算机绘图的着色编译系统
31:处理单元
32:存储装置
35:图形处理集成电路
37:总线
S41、S43:流程步骤
S511、S513、...、S541、S543:流程步骤
60:硬件指令机器码格式
61:操作命令
63a、63b、63c:参数
65a、65b、65c:修饰符
70:操作命令对应表
70a:操作命令栏位
70b:对应码栏位
71、72、...、77、78:操作命令对应记录
81:第一参数对应表
81a:第一参数栏位
81b:对应码栏位
811、812、813、814、815:第一参数对应记录
83:第二参数对应表
83a:第二参数栏位
83b:对应码栏位
831、832、833、834、835:第二参数对应记录
85:第三参数对应表
85a:第三参数栏位
85b:对应码栏位
851、852、853、854、855:第三参数对应记录
91:第一修饰符对应表
91a:第一修饰符栏位
91b:对应码栏位
911、912、913、914:第一修饰符对应记录
93:第二修饰符对应表
93a:第二修饰符栏位
93b:对应码栏位
931、932、933、934:第二修饰符对应记录
95:第三修饰符对应表
95a:第三修饰符栏位
95b:对应码栏位
951、952、953、954:第三修饰符对应记录
1000:储存介质
1020:三维计算机绘图的着色编译计算机程序
1100:脚本指令
1111:操作命令
1121:第一参数
1131:第二参数
1113:指令对应码
1123:第一参数对应码
1133:第二参数对应码
1141:硬件指令机器码
1200:脚本指令
1211:操作命令
1221:第一参数
1231:第二修饰符
1241:第二参数
1213:指令对应码
1223:第一参数对应码
1233:第二修饰符对应码
1243:第二参数对应码
1251:硬件指令机器码
Claims (10)
1.一种三维计算机绘图的着色编译方法,其特征在于,该三维计算机绘图的着色编译方法,用以产生相应于一脚本指令的一硬件指令机器码,其方法包括:
提供一操作命令对应码以及一参数对应码,上述操作命令对应码表示上述脚本指令中的一操作命令,上述参数对应码表示关联于上述操作命令的一参数,上述硬件指令机器码于一第一位区间储存上述操作命令的信息,于一第二位区间储存上述参数的信息,上述操作命令对应码中于不属于上述第一位区间的位皆储存“0”,上述参数对应码中于不属于上述第二位区间的位皆储存“0”;以及
通过对上述操作命令对应码与上述参数对应码执行一“或”逻辑运算来产生上述硬件指令机器码;
提供一操作命令对应记录,包含定义于一脚本指令集的上述操作命令,以及上述操作命令所对应的上述操作命令对应码的信息;以及
通过检索上述操作命令对应记录来取得上述操作命令所对应的上述操作命令对应码。
2.根据权利要求1所述的三维计算机绘图的着色编译方法,其特征在于,更包括:
提供一修饰符对应码,上述修饰符对应码表示关联于上述参数的一修饰符,上述硬件指令机器码于一第三位区间储存上述修饰符的信息,上述修饰符对应码中于不属于上述第三位区间的位皆储存“0”;以及
用对上述操作命令对应码、上述参数对应码与上述修饰符对应码执行一“或”逻辑运算来产生上述硬件指令机器码代替权利要求1所述的对上述操作命令对应码与上述参数对应码执行一“或”逻辑运算来产生上述硬件指令机器码。
3.根据权利要求2所述的三维计算机绘图的着色编译方法,其特征在于,更包括:
提供一修饰符对应记录,包含定义于一脚本指令集的上述修饰符,以及上述修饰符所对应的上述修饰符对应码的信息;以及
通过检索上述修饰符对应记录来取得上述修饰符所对应的上述修饰符对应码。
4.根据权利要求1所述的三维计算机绘图的着色编译方法,其特征在于,上述操作命令对应码与上述参数对应码的长度相同于上述硬件指令机器码的长度。
5.根据权利要求1所述的三维计算机绘图的着色编译方法,其特征在于,更包括:
提供一参数对应记录,包含定义于一脚本指令集的上述参数,以及上述参数所对应的上述参数对应码的信息;以及
通过检索上述参数对应记录来取得上述参数所对应的上述参数对应码。
6.一种三维计算机绘图的着色编译系统,其特征在于,该三维计算机绘图的着色编译系统,用以产生相应于一脚本指令的一硬件指令机器码,该着色编译系统包括:
用于提供一操作命令对应码以及一参数对应码的一提供单元,上述操作命令对应码表示上述脚本指令中的一操作命令,上述参数对应码表示关联于上述操作命令的一参数,上述硬件指令机器码于一第一位区间储存上述操作命令的信息,于一第二位区间储存上述参数的信息,上述操作命令对应码中于不属于上述第一位区间的位皆储存“0”,上述参数对应码中于不属于上述第二位区间的位皆储存“0”;以及
对上述操作命令对应码与上述参数对应码执行一“或”逻辑运算来产生上述硬件指令机器码的一运算单元;
用于提供一操作命令对应记录的一存储单元,该操作命令对应记录包含定义于一脚本指令集的上述操作命令,以及上述操作命令所对应的上述操作命令对应码的信息;以及
检索上述操作命令对应记录来取得上述操作命令所对应的上述操作命令对应码的一检索单元。
7.根据权利要求6所述的三维计算机绘图的着色编译系统,其特征在于,上述提供单元更提供一修饰符对应码,用对上述操作命令对应码、上述参数对应码与上述修饰符对应码执行一“或”逻辑运算来产生上述硬件指令机器码代替权利要求6所述的对上述操作命令对应码与上述参数对应码执行一“或”逻辑运算来产生上述硬件指令机器码,以及上述修饰符对应码表示关联于上述参数的一修饰符;
上述硬件指令机器码于一第三位区间储存上述修饰符的信息,上述修饰符对应码中于不属于上述第三位区间的位皆储存“0”。
8.根据权利要求7所述的三维计算机绘图的着色编译系统,其特征在于,上述存储单元还提供一修饰符对应记录,上述检索单元通过检索上述修饰符对应记录来取得上述修饰符所对应的上述修饰符对应码,上述修饰符对应记录包含定义于一脚本指令集的上述修饰符,与上述修饰符所对应的上述修饰符对应码的信息。
9.根据权利要求6所述的三维计算机绘图的着色编译系统,其特征在于,上述操作命令对应码与上述参数对应码的长度相同于上述硬件指令机器码的长度。
10.根据权利要求6所述的三维计算机绘图的着色编译系统,其特征在于,上述存储单元还提供一参数对应记录,上述检索单元通过检索上述参数对应记录来取得上述参数所对应的上述参数对应码,上述参数对应记录包含定义于一脚本指令集的上述参数,与上述参数所对应的上述参数对应码的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006101275149A CN100533384C (zh) | 2006-09-07 | 2006-09-07 | 三维计算机绘图的着色编译系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006101275149A CN100533384C (zh) | 2006-09-07 | 2006-09-07 | 三维计算机绘图的着色编译系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1912836A CN1912836A (zh) | 2007-02-14 |
CN100533384C true CN100533384C (zh) | 2009-08-26 |
Family
ID=37721777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006101275149A Active CN100533384C (zh) | 2006-09-07 | 2006-09-07 | 三维计算机绘图的着色编译系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100533384C (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1790267A (zh) * | 2005-12-14 | 2006-06-21 | 浙江大学 | 应用于Java操作系统中虚拟机的编译体系实现方法 |
CN1790268A (zh) * | 2004-12-14 | 2006-06-21 | 艾克斯麦提克方案私人有限公司 | 通过散列技术的编译时间链接 |
-
2006
- 2006-09-07 CN CNB2006101275149A patent/CN100533384C/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1790268A (zh) * | 2004-12-14 | 2006-06-21 | 艾克斯麦提克方案私人有限公司 | 通过散列技术的编译时间链接 |
CN1790267A (zh) * | 2005-12-14 | 2006-06-21 | 浙江大学 | 应用于Java操作系统中虚拟机的编译体系实现方法 |
Non-Patent Citations (3)
Title |
---|
ARM体系结构与编程. 杜春雷,62-66,84,清华大学出版社. 2003 C程序设计(第二版). 谭浩强,299-300,清华大学出版社. 2001 |
ARM体系结构与编程. 杜春雷,62-66,84,清华大学出版社. 2003 * |
C程序设计(第二版). 谭浩强,299-300,清华大学出版社. 2001 * |
Also Published As
Publication number | Publication date |
---|---|
CN1912836A (zh) | 2007-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102595713B1 (ko) | 그래픽 처리 시스템 | |
TWI320913B (en) | Methods, systems and computer-readable storage medium for shading process compiling of 3d computer graphics | |
Chan et al. | Rendering Fake Soft Shadows with Smoothies. | |
US7463261B1 (en) | Three-dimensional image compositing on a GPU utilizing multiple transformations | |
CN110084875B (zh) | 使用计算着色器作为顶点着色器的前端 | |
US10032308B2 (en) | Culling objects from a 3-D graphics pipeline using hierarchical Z buffers | |
US5325485A (en) | Method and apparatus for displaying primitives processed by a parallel processor system in a sequential order | |
CN105023233B (zh) | 图形处理系统及其操作方法、计算机存储介质 | |
US7843463B1 (en) | System and method for bump mapping setup | |
US10706636B2 (en) | System and method for creating editable configurations of 3D model | |
US9761037B2 (en) | Graphics processing subsystem and method for updating voxel representation of a scene | |
US7696993B2 (en) | Geometry primitive type conversion in a GPU pipeline | |
US20190371041A1 (en) | Compiler-assisted techniques for memory use reduction in graphics pipeline | |
GB2504815A (en) | A graphics processing unit and method for performing tessellation operations | |
US11120611B2 (en) | Using bounding volume representations for raytracing dynamic units within a virtual space | |
US20140368505A1 (en) | Graphics processing subsystem for recovering projection parameters for rendering effects and method of use thereof | |
KR20170036419A (ko) | 그래픽스 프로세싱 장치 및 그래픽스 파이프라인의 텍스쳐링을 위한 LOD(level of detail)를 결정하는 방법 | |
US20050195197A1 (en) | Superscalar 3D graphics engine | |
Vyatkin | Method of binary search for image elements of functionally defined objects using graphics processing units | |
CN104050719A (zh) | 生成抗锯齿体素数据 | |
CN100533384C (zh) | 三维计算机绘图的着色编译系统及方法 | |
US8970588B1 (en) | System and methods for implementing object oriented structures in a shading language | |
Stemkoski et al. | Developing Graphics Frameworks with Java and OpenGL | |
Nery et al. | Massively parallel identification of intersection points for GPGPU ray tracing | |
CN111767046A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |