CN108109192A - 游戏场景中模型自适应地貌材质的方法 - Google Patents
游戏场景中模型自适应地貌材质的方法 Download PDFInfo
- Publication number
- CN108109192A CN108109192A CN201711346107.1A CN201711346107A CN108109192A CN 108109192 A CN108109192 A CN 108109192A CN 201711346107 A CN201711346107 A CN 201711346107A CN 108109192 A CN108109192 A CN 108109192A
- Authority
- CN
- China
- Prior art keywords
- model
- landforms
- scene
- block
- attribute
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Geometry (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Computing Systems (AREA)
- Image Generation (AREA)
- Display Devices Of Pinball Game Machines (AREA)
Abstract
本发明公开了一种游戏场景中模型自适应地貌材质的方法,包括有步骤(1)在三维场景中设置摄像机位置及角度;步骤(2)渲染不透明的模型和地形;步骤(3)渲染透明的模型;步骤(4)全屏像素处理;在所述步骤(2)中的模型中设置有布尔型地貌适应属性,当属性为true时代表需要自动使用地貌材质,当属性是false时使用其原始材质。布尔型地貌适应属性(即BOOL bLandscapeFit)的开关可在场景编辑器中,选中该模型后在模型属性栏中进行修改。增加的布尔型地貌适应属性,使三维游戏场景中地面上的模型可以自动渲染出其正下方的地貌材质,使其在游戏场景中呈现中真实世界中的地貌效果。
Description
技术领域
本发明属于虚拟游戏技术领域,尤其是涉及一种游戏场景中模型自适应地貌材质的方法。
背景技术
当前市面上游戏中的三维场景渲染流程可归纳为:第一步在三维场景中设置摄像机位置及角度;第二步渲染不透明的模型和地形;第三步渲染透明的模型(因为视线可以穿透透明模型,所以渲染顺序在不透明模型之后);第四步全屏像素处理(例如应用滤镜等)。
上述第二步中三维场景中对物体的渲染是一个接着一个的,如果场景中有两块石头,那么需要先渲染其中的一个,再渲染另一个,最后渲染地面。
由于场景中的物体是各自分开独立渲染的,每个物体都有各自不同的材质,例如石头模型使用的是大理石纹理贴图,石头下面的地面使用的是泥土贴图。考虑真实世界,一块石头放在泥土上,可能被地面的泥土覆盖而呈现出泥土的材质,把石头移动到草地上,可能爬满了青苔呈现出草地的材质。显然当前的三维场景渲染方式,无法适应当模型移动到三维场景中各种不同材质的地表上,自动呈现地表材质效果。
发明内容
本发明要解决的问题是提供一种游戏场景中模型自适应地貌材质的方法方法,使三维游戏场景中地面上的模型可以自动渲染出其正下方的地貌材质,使其在游戏场景中呈现中真实世界中的地貌效果。
为解决上述技术问题,本发明采用的技术方案为:该游戏场景中模型自适应地貌材质的方法,包括有步骤(1)在三维场景中设置摄像机位置及角度;步骤(2)渲染不透明的模型和地形;步骤(3)渲染透明的模型;步骤(4)全屏像素处理;在所述步骤(2)中的模型中设置有布尔型地貌适应属性,当属性为true时代表需要自动使用地貌材质,当属性是false时使用其原始材质。
在上述技术方案中,该布尔型地貌适应属性(即BOOL bLandscapeFit)的开关可在场景编辑器中,选中该模型后在模型属性栏中进行修改。增加的布尔型地貌适应属性,使三维游戏场景中地面上的模型可以自动渲染出其正下方的地貌材质,使其在游戏场景中呈现中真实世界中的地貌效果。
优选的方案是,所述步骤(2)中不透明物体的渲染方法为:第一步将建立物体的一组三角形提交到显示卡;第二步将该物体对应的材质提交到显示卡;第三步渲染这个物体。
优选的方案是,所述步骤(2)中地形的渲染方式为:三维游戏场景中的地形是按区块渲染的,区块中包含组成本区块的一组三角形和材质贴图,首先提交组成该区块的一组三角形到显示卡,然后将区块对应的材质贴图设置到显示卡,最后做渲染操作;需要在地形渲染模块中提供一个接口函数供模型渲染调用,为显卡设置本地形区块的材质贴图和像素着色程序。
优选的方案是,在所述步骤(2)中模型的渲染方法为:将组成模型的三角形组提交给图形API;设置模型本身的顶点着色程序给图形API;跳过模型本身的材质数据和像素着色程序,调用地形模块提供的接口函数,将材质数据和像素着色程序设置为其模型正下方的地貌材质;渲染模型。
附图说明
下面结合附图和本发明的实施方式进一步详细说明:
图1是本发明游戏场景中模型自适应地貌材质的方法的流程示意图;
图2是本发明实施例1模型混合地貌材质具体实施方式的流程图。
具体实施方式
本发明的游戏场景中模型自适应地貌材质的方法,如图1所示,包括有步骤(1)在三维场景中设置摄像机位置及角度;步骤(2)渲染不透明的模型和地形;步骤(3)渲染透明的模型;步骤(4)全屏像素处理;在所述步骤(2)中的模型中设置有布尔型地貌适应属性,当属性为true时代表需要自动使用地貌材质,当属性是false时使用其原始材质。
所述步骤(2)中不透明物体的渲染方法为:第一步将建立物体的一组三角形提交到显示卡;第二步将该物体对应的材质提交到显示卡;第三步渲染这个物体。
所述步骤(2)中地形的渲染方式为:三维游戏场景中的地形是按区块渲染的,区块中包含组成本区块的一组三角形和材质贴图,首先提交组成该区块的一组三角形到显示卡,然后将区块对应的材质贴图设置到显示卡,最后做渲染操作;需要在地形渲染模块中提供一个接口函数供模型渲染调用,为显卡设置本地形区块的材质贴图和像素着色程序。
在所述步骤(2)中模型的渲染方法为:将组成模型的三角形组提交给图形API;设置模型本身的顶点着色程序给图形API;跳过模型本身的材质数据和像素着色程序,调用地形模块提供的接口函数,将材质数据和像素着色程序设置为其模型正下方的地貌材质;渲染模型。
具体步骤如下:
步骤1,三维游戏场景中的模型数据中,新增加一个布尔型的属性BOOLbLandscapeFit,其含义是当属性为true时代表需要自动使用地貌材质,当属性是false时使用其原始材质。该属性的开关可在场景编辑器中,选中该模型后在模型属性栏中进行修改。
步骤2,首先简要说明一下地形的渲染方式:三维游戏场景中的地形是按区块渲染的,区块中包含组成本区块的一组三角形和材质贴图,首先提交组成该区块的一组三角形到显示卡,然后将区块对应的材质贴图设置到显示卡,最后做渲染操作;本步骤中,需要在地形渲染模块中提供一个接口函数供模型渲染调用,为显卡设置本地形区块的材质贴图和像素着色程序。本步骤在不同的游戏引擎中实现方式略有区别。接口函数执行的具体步骤如下:
步骤2-1,根据接口函数的参数即模型在三维场景中的坐标位置X、Y,取得地形系统管理的,该坐标位置所在的区块数据指针TerrainChunk *pChunk;
步骤2-2,将区块数据指针中的本区块基础贴图pChunk->BaseTexture设置给图形API,将本区块的本区块混合贴图pChunk->BlendTexture设置给图形API,将本区块的的像素着色程序pChunk->PixelShader设置给图形API;再后面的渲染步骤中,像素着色程序将使用本区块的贴图按特定排布渲染组成模型的三角形组。
步骤2的伪代码实现如下:
function Terrain::SetChunkBuffer(float X, float Y)
TerrainChunk* pChunk = terrain.GetChunk(X, Y);
render.SetTexture(pChunk->BaseTexture);
render.SetTexture(pChunk->BlendTexture);
render.SetPixShader(pChunk->PixelShader);
end
步骤3,渲染模型。
步骤3-1,将组成模型的三角形组提交给图形API;
步骤3-2,设置模型本身的顶点着色程序给图形API;
步骤3-3,跳过模型本身的材质数据和像素着色程序,调用地形模块提供的接口函数,将材质数据和像素着色程序设置为其模型正下方的地貌材质;
步骤3-4,渲染模型;
步骤3的伪代码实现如下:
model.SetVSBuffer();
terrain.SetChunkBuffer(model.X, model.Y);
model.DrawMesh();
如上步骤详细说明了,当模型移动到三维场景中各种不同材质的地表上,自动呈现地表材质效果的实现细节。进一步的,自然界中一块石头放在泥土上,真实情况是,只有石头与地面交接的地方(例如下半部分),才会呈现地貌材质,这里称之为混合地貌材质。
混合地貌材质的进一步改进方法如下实施例1所示:
首先简要说明一下混合地貌材质的方法:三维游戏场景中,一个需要混合地貌材质的模型例如石头,需要渲染两次。第一次使用模型本身的材质数据渲染,使其呈现为大理石的效果。第二次使用其正下方的地貌材质渲染,使用图形API提供的混合功能,只将地貌材质混合在石头的下半部分上。结果是,石头的上半部分呈现大理石的颜色,下半部分呈现衔接地貌的泥土颜色。
下面以渲染石头模型为例,详细说明本方法的具体步骤。如图2所示。
步骤1,将组成模型的三角形组提交给图形API;
步骤2,设置模型本身的顶点着色程序给图形API;
步骤3,设置模型本身的材质数据和像素着色程序;
步骤4,渲染模型。
步骤1-4完成后,三维游戏场景中将出现大理石颜色的石头。
步骤5,将组成模型的三角形组提交给图形API;
步骤6,设置模型本身的顶点着色程序给图形API;
步骤7,跳过模型本身的材质数据和像素着色程序,调用地形模块提供的接口函数,将材质数据和像素着色程序设置为其模型正下方的地貌材质;
步骤8,开启图形显卡Alpha的混合功能,渲染模型。
Alpha混合功能说明如下:要求像素着色程序输出的4通道颜色RGBA中的Alpha值域为[0.0, 1.0],最终屏幕上呈现的颜色的计算公式为:像素着色器输出的RGB * Alpha +屏幕RGB * (1.0 - Alpha)。即Alpha为0.0代表全透明,像素着色器输出颜色不会混合到屏幕上,Alpha为1.0代表全不透明,像素着色器输出颜色会覆盖到屏幕上。在像素着色器中按如下方法计算Alpha值:取模型的三维空间的Y坐标(高度),假设地面高度为0.0米,Y大于1.0的像素Alpha值输出0.0(全透明),Y值在0.0到1.0中间时,Alpha输出1.0(全覆盖)。
步骤8中计算Alpha值的伪代码实现如下:
float Alpha = 0.0
if Y <= 1.0
Alpha = 1.0
步骤5-8完成后,三维游戏场景中将出现上半部分为大理石颜色、下半部分为泥土颜色的石头。
上面结合附图对本发明的实施方式作了详细的说明,但是本发明不限于上述实施方式,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
Claims (4)
1.一种游戏场景中模型自适应地貌材质的方法,包括有步骤(1)在三维场景中设置摄像机位置及角度;步骤(2)渲染不透明的模型和地形;步骤(3)渲染透明的模型;步骤(4)全屏像素处理;其特征在于,在所述步骤(2)中的模型中设置有布尔型地貌适应属性,当属性为true时代表需要自动使用地貌材质,当属性是false时使用其原始材质。
2.根据权利要求1所述的游戏场景中模型自适应地貌材质的方法,其特征在于,所述步骤(2)中不透明物体的渲染方法为:第一步将建立物体的一组三角形提交到显示卡;第二步将该物体对应的材质提交到显示卡;第三步渲染这个物体。
3.根据权利要求2所述的游戏场景中模型自适应地貌材质的方法,其特征在于,所述步骤(2)中地形的渲染方式为:三维游戏场景中的地形是按区块渲染的,区块中包含组成本区块的一组三角形和材质贴图,首先提交组成该区块的一组三角形到显示卡,然后将区块对应的材质贴图设置到显示卡,最后做渲染操作;需要在地形渲染模块中提供一个接口函数供模型渲染调用,为显卡设置本地形区块的材质贴图和像素着色程序。
4.根据权利要求1-3任一项所述的游戏场景中模型自适应地貌材质的方法,其特征在于,在所述步骤(2)中模型的渲染方法为:将组成模型的三角形组提交给图形API;设置模型本身的顶点着色程序给图形API;跳过模型本身的材质数据和像素着色程序,调用地形模块提供的接口函数,将材质数据和像素着色程序设置为其模型正下方的地貌材质;渲染模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711346107.1A CN108109192A (zh) | 2017-12-15 | 2017-12-15 | 游戏场景中模型自适应地貌材质的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711346107.1A CN108109192A (zh) | 2017-12-15 | 2017-12-15 | 游戏场景中模型自适应地貌材质的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108109192A true CN108109192A (zh) | 2018-06-01 |
Family
ID=62216139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711346107.1A Pending CN108109192A (zh) | 2017-12-15 | 2017-12-15 | 游戏场景中模型自适应地貌材质的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108109192A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113368503A (zh) * | 2021-07-06 | 2021-09-10 | 福建天晴在线互动科技有限公司 | 一种复用地形材质的方法及其系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831631A (zh) * | 2012-08-23 | 2012-12-19 | 上海创图网络科技发展有限公司 | 一种大规模三维动画的渲染方法及渲染装置 |
US20150035830A1 (en) * | 2010-12-24 | 2015-02-05 | Xiaopeng Zhang | Method for real-time and realistic rendering of complex scenes on internet |
CN107103638A (zh) * | 2017-05-27 | 2017-08-29 | 杭州万维镜像科技有限公司 | 一种虚拟场景与模型的快速渲染方法 |
CN107330962A (zh) * | 2017-06-19 | 2017-11-07 | 杭州群核信息技术有限公司 | 一种场景生成方法及装置 |
CN107349603A (zh) * | 2017-06-27 | 2017-11-17 | 苏州蜗牛数字科技股份有限公司 | 一种在vr场景中模拟天气变化的方法 |
-
2017
- 2017-12-15 CN CN201711346107.1A patent/CN108109192A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150035830A1 (en) * | 2010-12-24 | 2015-02-05 | Xiaopeng Zhang | Method for real-time and realistic rendering of complex scenes on internet |
CN102831631A (zh) * | 2012-08-23 | 2012-12-19 | 上海创图网络科技发展有限公司 | 一种大规模三维动画的渲染方法及渲染装置 |
CN107103638A (zh) * | 2017-05-27 | 2017-08-29 | 杭州万维镜像科技有限公司 | 一种虚拟场景与模型的快速渲染方法 |
CN107330962A (zh) * | 2017-06-19 | 2017-11-07 | 杭州群核信息技术有限公司 | 一种场景生成方法及装置 |
CN107349603A (zh) * | 2017-06-27 | 2017-11-17 | 苏州蜗牛数字科技股份有限公司 | 一种在vr场景中模拟天气变化的方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113368503A (zh) * | 2021-07-06 | 2021-09-10 | 福建天晴在线互动科技有限公司 | 一种复用地形材质的方法及其系统 |
CN113368503B (zh) * | 2021-07-06 | 2023-11-24 | 福建天晴在线互动科技有限公司 | 一种复用地形材质的方法及其系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6975329B2 (en) | Depth-of-field effects using texture lookup | |
US20080084429A1 (en) | High performance image rendering for internet browser | |
CN108196835A (zh) | 一种游戏引擎中图元存储和渲染的方法 | |
CN102496180B (zh) | 一种自动生成水墨山水画图像的方法 | |
US7616201B2 (en) | Casting shadows | |
WO2013078859A1 (zh) | 一种三维界面显示装置、方法及终端 | |
CN102768765A (zh) | 实时点光源软阴影渲染方法 | |
CN104063888B (zh) | 一种基于非真实感的波谱艺术风格绘制方法 | |
CN109118556B (zh) | 一种实现ui界面动画过渡效果的方法、系统及存储介质 | |
Policarpo et al. | Relaxed cone stepping for relief mapping | |
EP1960968A1 (en) | Computer graphics processor and method for rendering a three-dimensional image on a display screen | |
CN106447761B (zh) | 一种阴影渲染方法 | |
Bruckner et al. | Hybrid visibility compositing and masking for illustrative rendering | |
CN110400372A (zh) | 一种图像处理的方法及装置、电子设备、存储介质 | |
EP1324273A2 (en) | Rendering device and method | |
US8411089B2 (en) | Computer graphics method for creating differing fog effects in lighted and shadowed areas | |
CN105631924A (zh) | 一种场景中扭曲效果的实现方法 | |
CN108109192A (zh) | 游戏场景中模型自适应地貌材质的方法 | |
US7133052B1 (en) | Morph map based simulated real-time rendering | |
CN103093417B (zh) | 生成水彩画风格图像的方法及装置 | |
CN106067193B (zh) | 一种点云数据的体素化方法和体素的遮挡裁剪方法 | |
CN103116898A (zh) | 生成水墨画风格图像的方法及装置 | |
CN106157313A (zh) | 一种线条粉笔画艺术风格模拟方法 | |
CN104581196A (zh) | 一种视频图像处理的方法及装置 | |
CN109920038A (zh) | 一种生成地形混合贴图材质的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180601 |
|
WD01 | Invention patent application deemed withdrawn after publication |