游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2289|回复: 1

想用自己的遮罩渲染图

[复制链接]

1

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2009-7-22 12:07:00 | 显示全部楼层 |阅读模式
是这样的,
若有一张图(假定它是10*10 pixel好了),
我希望在它渲染的时候,
被我的某张遮罩遮去几个点(如: (1,1), (2,1), (2,2), (3,2), 点是动态的,会因程式执行和玩家操作而不同),
要如何实做呢??
我只知道渲染大致是这样做的:
glColor4f(1.0f, 1.0f, 1.0f, alpha);
glPushMatrix();
glTranslatef(center_x, center_y, 0.f);
glRotatef(angle, 0.0f, 0.0f, 1.0f);
glScalef(scale, scale, 1.0f);
glVertexPointer(2, GL_FLOAT, 0, vertices);
glTexCoordPointer(2, GL_FLOAT, 0, coordinates);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
glPopMatrix();
但就是不知怎么加遮罩上去??
是要用stencil吗?? 能否告知一下实行方法??



0

主题

2

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2009-7-31 14:11:00 | 显示全部楼层

Re: 想用自己的遮罩渲染图

可以使用模板缓存。

使用模板缓冲来控制将哪幅图像的像素绘制到渲染目标表面。可以定义一系列模板掩模(根据你的需要进行不同则遮盖),并将它们拷贝到模板缓冲中。也可以为第一帧定义一个基本的模板掩模,然后随着帧的变化,再对基本掩模进行适当的改变。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-19 00:07

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表