-------------------------------------
首先是发布页面
除了SDK Download以外,还提供了PlayStation®Suite Development Assistant的下载,此物只能在PSV的浏览器中下载,其真相则是重定向到PS Store下载一个免费版的App,该APP在PSV上运行必须联网认证。也就是说未来SONY会像苹果一样,在PSV上调试可能直接在App部分收费或与PSN帐号关联。
而在ANDROID智能手机上运行,并没有要求输入PSN帐号。所以,没有PSV的用户也可在手机上调试。但是,由于本人用的SONY本家的手机,所以不清楚其他牌子的手机是否支持。
几个比较明确的事
SDK安装
N个下一步。
系统环境
暂时只有Windows环境,且必须得有.Net 4.0。如果没有.Net Framework,安装过程中会自动给你装上。 官方没有说明什么时候支持Linux和MacOS。
集成开发工具 IDE
请不要怪我孤陋寡闻,因为我觉得这是我见过最友好的IDE了。

以下直接COPY文档
The following features and services will be added by the future version upgrade of SDK.
- The service to distribute the created PS Suite applications in PlayStation(R)Store.
- Development environment using Visual Studio
- Support for programming languages other than C#
- Support for model data output from 3D tools other than Maya
- Low level audio API
- Camera
- Position information
- Video playback
- API for network services
- DRM(Digital rights management) and packaging support
从目前看来,这样一个还不算非常完整的库对个人和小型开发团体而言,真是非常有用,不仅大大降低开发门槛,还简化了开发者各种环境配置的困扰。
最后,就是期待SDK能加上那些功能,否则那传说中的99刀/年的费用,还是有点坑爹。毕竟C# Only,不仅仅移植困难(跑去iOS和Android的C++多平台开发),性能本身也是个问题。 性能什么的,论坛里的各种吐槽,作为索亲只能看,不敢回。
个人觉得,SDK的目标群体应该就是个人和小型团体。![]()
转自 http://apps.hi.baidu.com/share/detail/30555651
转自:http://soft-app.iteye.com/blog/925104
1. 设置一个RenderTarget会导致viewport变成跟RenderTarget一样大
2. 反锯齿类型必须跟DepthStencilBuffer一样
3. RenderTarget的类型必须跟DepthStencilBuffer的类型兼容, 可以用IDirect3D9::CheckDepthStencilMatch进行检测
4. DepthStencilBuffer的大小必须>=RenderTarget的大小
5. IDirect3DDevice9::SetRenderTarget的第0个不能为NULL
6. Usage为D3DUSAGE_RENDERTARGET的Texture不能进行反锯齿, 而且Pool必须为D3DPOOL_DEFAULT. 如果想利用RenderTarget做为纹理又想反锯齿, 可以先把场景渲染到一个CreateRenderTarget创建的Surface(或BackBuffer)上, 再用IDirect3DDevice9::StretchRect拷贝到纹理上
7. D3DX提供了一个ID3DXRenderToSurface, 简化了RenderTarget的使用. 注意它的BeginScene跟EndScene与再用IDirect3DDevice9的同名函数对不能嵌套, 因为实际上内部还是调用的IDirect3DDevice9的, 用PIX可以看到它进行了哪些调用. 还有就是这个接口仍然不能反锯齿, 而且每次都要保存/恢复一堆状态, 总觉得不爽
8. RTT不能既做为输入就做为输出目标, 某些显卡上可能只会给一个warning, 有些显卡上则会发生报错/黑屏/死机之类不可预计的事情...另外, Depth stencil texture(参见Hareware shadow map)也有同样的问题, 用完之后要SetTexture(n, NULL)清空, 不然A卡会黑屏/花屏/深度错误, 既使你没有使用, 只要它被寄存器引用了, 显卡还是会当做是正在使用的, 这时就不能做为depth stencil buffer
9. RTT如果想保存到文件中, 是不能直接SaveToTexture的. 需要创建一个OffscreenSurface, 拷贝过去, 再保存. 不过N卡好像不支持DXT1格式的OffscreenSurface, 可以创建Texture, 取其level0的surface代替.
10. N卡在开启了锯齿后冒似所有的RTT都要反锯齿, 不然深度测试会失败-_-
11. Intel的显卡在RTT没有设置DepthBuffer时可能所有绘制全部深度测试失败, 需要关闭深度测试再画.
工作原因接触了Gfx Scaleform 3.1。本人表示此东东异常强大。但是要用好他有很多性能问题,不仅仅是程序时要考虑的!更需要美术和FLASH制作人员共同努力。
关于GFX具体是什么东西以及干什么用的。本人不做介绍,只是谈论一下使用时的一些思考和经验之谈。因为相关方面的文章几乎没有,而且又是商业系统。所以,就在这里做个小小的总结。
1. Flash中的Object对象可以完全由C++代码进行实现,并且在Flash中进行调用。包括Function函数。凭借这点我们可以让客户端的逻辑拥有脚本接口,并且提供给Flash数据和控制客户端的接口。
2. Flash中的TextField控件由Gfx进行了一定的扩展,所以关于HTML的使用上除了<img>标记基本与常规情况下的Flash相同,关于<img>标记的使用就必须要涉及到第三点所提到的相关内容了。理由:GFX中的<img>无法直接从外部取相对路径的图片文件。
3. Flash中的图片加载问题需要C++进行实现与管理,Gfx只提供了简单的接口GImageBase,具体实现以及图片内存管理都需要客户端进行处理。包括动画图片以及可渲染图片,都可以进行实现。当然,如果图片本身包含在相应的Flash文件(.FLA)中可以直接通过到处标记符加载,无需通过客户端。
关于图片加载问题,最值得说明的是设备重置问题, 设备一旦发生丢失后,就必须要调用Gfx的相关函数使其Renderer进行重置,否则Gfx可能无法继续进行运行。然后,也是最关键的一点,就是设备重置前必须先告知并且释放GImageBase相关的接口。否则。重置是无法成功的。最后一点,就是托管图片与非托管图片的问题以及引用计数的问题 都是必须要注意的。以上后面几点属于细节问题。因此我就不多提了(如果遇到问题请看红字亮点)。
4. 焦点问题,在一般的单窗口,单菜单界面的游戏环境中可能不会遇到问题,但是在复杂且多窗口的情况下,这个问题就凸显出来了。我主要介绍2种技巧,一个是利用FLASH的Selection侦听器,可以知当前所选MovieClip的信息,还有就是利用CLIK框架中的FocusManager来得知当前焦点的信息,通过以上2个技巧可以全面了解当前FLASH环境下焦点是处于什么控件上,并且用来区分是 文字输入框 还是 普通按钮。
5. 窗口击穿的问题,在很多游戏中,窗口往往是透明的,例如聊天文本框。如果是通过FLASH的HITTEST或者使用GFX提供的HITTEST函数执行效率非常差。因为会完全遍历所有MOVIECLIP。所以有一个简单的方法就是将背景设置为FLASH的"按钮",然后利用GFX提供的getTopEntity函数,高效的获取当前鼠标光标正处于什么控件上。从而得出当前是否能够有效击穿窗口结果。
6. 文字渲染问题,GFX还提供了一套文字渲染系统,并且能够直接渲染HTML文字,但是这个系统并不是完美的,和FLASH中的textField有所不同,他不支持内嵌图片,同时还有一个文档中未说明的技巧,就是TEXTFORMAT标签的使用。如果有朋友遇到文字显示格式的问题,可以去查查看。
7. 字体问题,根据GFX的介绍,字体问题有3种解决方案,但是根据实际使用,只有一种方案比较有效,就是利用C++建立GFXFONTMAP,并引入内嵌完整字体的SWF。另外2种方案对于中文环境的支持比较糟糕。很多非主流文字都无法正常显示。
8. 自定义控件的设计,CLIK框架非常强大,所以详细的阅读其代码是非常有必要的,特别是CORELIST与SCROLLLIST这2个类,并且我们可以通过此2类的学习,可以设计出各种必要的控件。
最后。。。如果想到新的我会加的。
由于工作原因,此项目一直没空搭理。所以决定关闭!
另外本人决定将此项目的难度降低!将重新立项目。由原来的FPS游戏将直接改变为一个小游戏。但是框架必须做到强大。以便将来进行扩展。弱化的仅仅是游戏逻辑。
IRRLICHT虽然提供了很好很简单的图像引擎。以及简单易用的函数,但是要和物理结合起来。。。有点困难。部分功能无法分割。
一步一步来吧。