DX9光照效果-------VB6编程学习DX9游戏编程DirectX9编程2D小游戏源码冷风引擎CoolWind2D游戏引擎(12)
DX9光照效果
先准备好一张背景贴图砖片bgimg.png
然后在Form1.frm中放入如下代码:
Private Sub Form_Load()'新手注意:游戏编程中,
'通常将窗体的 BorderStyle 设置为“Fixed single”即不允许改变窗体大小
'通常将窗体的 MinButton 设置为“True”即允许最小化
'通常将窗体的 MaxButton 设置为“False”即禁止最大化'初始化引擎并设置引擎初始化窗体和引擎分辨率,但最好是电脑常用的分辨率比如 640,480 、 800,600 、 1024,768 、 1366,768
CWVBDX9Initialization Me, 800, 600, CW_Windowed'初始化引擎(目标窗体,横向分辨率,纵向分辨率,窗口模式/全屏模式)Dim PicDemo As CWPic '定义CoolWind引擎图片变量CWLoadPic PicDemo, App.Path & "\Pic\bgimg.png", CWColorNone '载入地面图片Do While CWGameRun = True '进入游戏循环If CWD3DDevice9.TestCooperativeLevel = 0 And Me.WindowState <> 1 Then '检测是否可以渲染(设备正常并且窗体未最小化时渲染)CWBeginScene '准备好绘制场景CWPaintPicBegin '贴图开始' 设置采样模式为循环(可以方便实现平铺和循环滚屏)CWD3DDevice9.SetSamplerState 0, D3DSAMP_ADDRESSU, D3DTADDRESS_WRAPCWD3DDevice9.SetSamplerState 0, D3DSAMP_ADDRESSV, D3DTADDRESS_WRAP' 画背景前先禁用Alpha混合(提高效率)CWD3DDevice9.SetRenderState D3DRS_ALPHABLENDENABLE, FalseCWD3DDevice9.SetRenderState D3DRS_ALPHATESTENABLE, FalseCWPaintPicEx PicDemo, 0, 0, 0, 0, 800, 600, CWGrey '贴上地面贴图,混合灰色模仿黑夜CWPaintPicEnd '贴图结束' 贴图结束后不用提交精灵,直接开启Alpha混合CWD3DDevice9.SetRenderState D3DRS_ALPHABLENDENABLE, TrueCWD3DDevice9.SetRenderState D3DRS_ALPHATESTENABLE, TrueLightEFOpen '打开光照效果'光照效果开启后所有的贴图和绘图都会被作为光源处理,透明度(A)决定强度,颜色(RGB)决定色调CWDrawSCircle 400, 300, 192, CWWhite '画圆作为光源CWDrawSCircleEx 400, 300, 192, 2, 1, CWYellow, CWHA_Red '重叠的光源图形越多,光照越强'注意:文字绘制(后面的示例即将提到)不受光照影响LightEFClose '关闭光照效果CWPresentScene '呈现绘制的场景'*******************************以下为固定写法,不要轻易改动***********************************Else '当不满足渲染条件时CWResetDevice '修复设备End IfLoopCWVBDX9Destory '销毁CoolWind引擎End '退出
'*******************************以上为固定写法,不要轻易改动***********************************End Sub
BAS还是用VBDX9BAS.bas
运行后效果如图:
DX9光照效果-------VB6编程学习DX9游戏编程DirectX9编程2D小游戏源码冷风引擎CoolWind2D游戏引擎(12)相关推荐
- 猜歌小游戏多功能组合微信小程序源码下载
这是一款多功能游戏组合的一款小程序 比如猜歌,摇骰子,真心话大冒险等等 php7.2 mysql5.6 1.上微擎框架 2.将后台两个压缩包上传到addons目录下解压 创建小程序应用 3.后台设置一 ...
- 【java毕业设计】基于java+swing+Eclipse的推箱子游戏设计与实现(毕业论文+程序源码)——推箱子游戏
基于java+swing+Eclipse的推箱子游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+swing+Eclipse的推箱子游戏设计与实现,文章末尾附有本毕业设计的论文 ...
- java毕业设计——基于java+J2ME+sqlserver的打飞机游戏设计与实现(毕业论文+程序源码)——打飞机游戏
基于java+J2ME+sqlserver的打飞机游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+J2ME+sqlserver的打飞机游戏设计与实现,文章末尾附有本毕业设计的 ...
- 【java毕业设计】基于java+Eclipse的飞机大战游戏设计与实现(毕业论文+程序源码)——飞机大战游戏
基于java+Eclipse的飞机大战游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Eclipse的飞机大战游戏设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. ...
- 【java毕业设计】基于java+Socket+Eclipse的坦克大战游戏设计与实现(毕业论文+程序源码)——坦克大战游戏
基于java+Socket+Eclipse的坦克大战游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Socket+Eclipse的坦克大战游戏设计与实现,文章末尾附有本毕业设 ...
- java毕业设计——基于java+J2ME的贪吃蛇游戏设计与实现(毕业论文+程序源码)——贪吃蛇游戏
基于java+J2ME的贪吃蛇游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+J2ME的贪吃蛇游戏设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开题报告P ...
- 徐州php溪谷_ThinkPHP溪谷H5游戏平台系统V3.0完整版源码
ThinkPHP溪谷H5游戏平台系统V3.0完整版源码,新增H5游戏盒子APP以及混服系统两大版块, 最新溪谷H5游戏平台系统v3.0完整版源码,在成熟版本H5游戏平台系统基础上开发出的更便捷高效的专 ...
- 云开发版高效学习微信小程序源码包含复习资料学习共享护眼精灵等功能
☑️ 编号:X0016 ☑️ 品牌:暂无 ☑️ 语言:微信小程序 ☑️ 数据库:无需数据库 ☑️ 类型:微信小程序 ☑️ 规格:小程序 ※ 欢迎关注私信(发消息不限制),领取福利 ※ ☑️ 源码介绍: ...
- DX9的一些方法介绍-------VB6编程学习DX9游戏编程DirectX9编程2D小游戏源码冷风引擎CoolWind2D游戏引擎(9)
DX9的一些方法介绍(IDirect3D9) 在前边的源码中,引用了一些DX9的方法,我这里做了一个笔记,大家可以看看. 1,IDirect3DDevice9::SetTexture 方法:将纹理分配 ...
- c语言程序设计自学跟谁好,双辽c语言编程学习,双辽学c语言编程哪个好,双辽学c语言编程自学好还是报班好...
双辽c语言编程学习,双辽学c语言编程哪个好,双辽学c语言编程自学好还是报班好 首页 > 软件 > 双辽c语言编程学习 作者:镀金池 发布时间:2017-12-07 05:48 一个C语 ...
最新文章
- 02-vue过滤器和键盘修饰符
- 克服DIMM近存计算系统的通信瓶颈,清华软件定义芯片团队提出DIMM间广播技术 | ISCA 2021...
- apex图表使用饼图居中_ppt图表技巧:如何制作美观简洁的百分比饼图
- 《企业软件交付:敏捷与高效管理精要》——3.8 结论
- 泛亚凭借一粒薏米-农业大健康·田亚:对话农民丰收节交易会
- JS实现图片循环滚动
- winpythonhadoop_让python在hadoop上跑起来
- Spring 注解方式实现 事务管理
- 【每日学习】Apache重写未开启,导致The requested URL /xxxx.html was not found on this server...
- html下拉嵌套只读,html组件不可输入(只读)同时任何组件都有效
- Python极简代码压缩图像十到百倍
- ActiveMQ 消息游标(Message Cursors)
- 网络函数bind源码分析
- 从零开始刷Leetcode——数组(1.26)
- OpenCV学习——绘制图像灰色直方图
- 怎么在电脑上看磁盘分配单元的大小_不升级配件、4种方法让电脑提速50%!
- 批处理For--分割字符串
- 关于3D打印文件格式:STL、OBJ、AMF、3MF的详解
- TCP-IP详解:SACK选项(Selective Acknowledgment)
- Android实战之 上传头像 和仿QQ空间、微博发表文字和图片
热门文章
- python3连接oracle教程,python3连接oracle数据库
- Oracle 分析函数over,列转行函数pivot理解及综合运用(报表中的小计和合计)
- BS架构调用TSC TTP-244 Pro条码打印机的常见问题及解决方案
- git可视化工具sourcetree解决中文乱码问题
- win11 HEVC 扩展
- VS Code CentOS7.7 终端字体设置
- CodeForces - 1042C (emmmmmm水题)
- 统信UOS操作系统 VS 银河麒麟操作系统
- 图片映射(HTML map标签)这么拽,小伙伴们都知道吗?
- 8月份补丁更新:微软修补了121个安全漏洞