场景编辑器开发第四天,继续迭代绘画功能

昨天第三天把绘画功能的大体框架制作出来,今天则是抽象出各种接口模块,比如常规绘画属性接口,大小 颜色 锐度 还有笔刷接口,笔.刷模块,矢量笔.刷,矢量笔刷的各种模块选择,圆形 方形 多边形 位图笔.刷...还有彩色纹理笔的实现逻辑。

彩色纹理笔的实现方案是bitmap纹理遮罩,通过已经有的绘画功能画出存在透明的轮廓位图,然后通过遮罩纹理大图,最终产生纹理笔的效果。

这里的纹理大图,使用的是重复填充纹理,这个功能非常棒,我曾经测试过,上万分辨率的重复纹理和一张只有几百x几百大小的纹理性能消耗是相同的。

关于撤销重做历史记录的功能已经在上个博客里面写过了,这里不进行展开。


下面就是我要讲的整体架构设计了,


‌容器1:存放笔刷画的内容列表
1.滤镜特效容器应用
2.黑白灰透明度路径
3.存储当前一点move移动序列

‌位图1:塌缩容器1绘画内容
以便于进行位图特效操作,比如后面的mask遮罩

‌位图2:指定遮罩位图数据
如果有开启纹理笔刷,那么就mask指定位图1让其产生遮罩效果否则隐藏不应用。

‌位图3:这里存放的是全部绘画结果叠加
画的任何东西都会显示在这里,也就是叠加

‌容器2:存放位图1和位图2和位图3内容
这里就包含了笔刷和纹理笔刷的所有内容功能叠加。

所以,最终结果就是,顶层目录下放两个容器,一个放绘画内容一个放塌缩位图和最终结果,最终就做完全部的绘画功能了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值