PlayStation Suiteプログラミング part 1

このエントリーをはてなブックマークに追加
952名前は開発中のものです。:2012/04/29(日) 17:42:43.14 ID:qObad1mn
>>951
shader_.SetUniformValue(1, ref pos);
shader_.SetUniformValue(2, ref tex);
の2つだけにしましたがやっぱり遅かったっす
まとめてやならいと遅いっぽいんですが、
ちょっと関数がバグってるみたいで使えなかったっす
953名前は開発中のものです。:2012/04/29(日) 17:49:45.08 ID:qObad1mn
バグってなかったら8x8サイズのスプライト、7800個達成っす

頂点配列はこう定儀して
struct Vertex
{
public uint pos;
public uint color;
public uint uv;
};

こうセットしたら速くなるっす
o.v0.pos = (uint)(t<<16 | l);
o.v0.uv = (uint)(v<<16 | u);
o.v0.color = color;
954名前は開発中のものです。:2012/04/29(日) 17:54:54.15 ID:qObad1mn
http://uproda11.2ch-library.com/11346706.zip.shtml
ソースをうpしてみました、バグってないか検証してほしいっす
scene02.csっす
955名前は開発中のものです。:2012/04/29(日) 18:15:45.46 ID:FTdeziYj
ゲーム開発初心者の自分にとってとてもありがたいスレ
956名前は開発中のものです。:2012/04/29(日) 18:29:03.84 ID:/SeWmGZu
やっとブロックくずしwが形になってきた
あれだな、ELだと60フレが冴えるな
957名前は開発中のものです。:2012/04/29(日) 18:42:53.23 ID:LiZrPIHS
最強のホビーパソコンといわれたX68000の
スプライト機能が最大同時128枚(水平方向32枚)だったんだから
いい時代になったな・・・
958名前は開発中のものです。:2012/04/29(日) 19:11:35.02 ID:Xk/Gg36c
あの時代のゲームは疑似回転でどうのこうのとか
やたらと持て囃す人たまに居るな
959名前は開発中のものです。:2012/04/29(日) 19:16:50.95 ID:/SeWmGZu
WinG辺りで頭が止まってるので追いつくのに大変だわ(´・ω・`)
960名前は開発中のものです。:2012/04/29(日) 19:32:53.37 ID:YeU4gB4u
>>954
ビルド実行してみたが、真っ黒の画面と左上に文字列がでるだけだよ。
961名前は開発中のものです。:2012/04/29(日) 19:39:24.01 ID:oS1JTQE6
>>954
実機では問題なくうごいてます
size=8 cunt=100でfpsは36~38をうろうろ
962名前は開発中のものです。:2012/04/29(日) 19:40:50.82 ID:bxrAnjnF
>>957
まだ実家にあるぞwwX68K
963名前は開発中のものです。:2012/04/29(日) 19:44:38.39 ID:YeU4gB4u
>>961 >>954
これって、実機じゃないと動かないの?
posがshort2で、color.vcgのa_Positionがfloat4になってて、
よくわからんかったが、実機用の最適化か何かですか?
964名前は開発中のものです。:2012/04/29(日) 19:44:55.41 ID:qObad1mn
>>960
アップロードしたソリューションをVITAで動かしてるんですが
動作してるっす。エミュで動かないのかないバグか?(´・ω・`)

>>961
すいませんsize=8は2^8で256x256っす
size=3が8x8っす
965名前は開発中のものです。:2012/04/29(日) 19:50:20.93 ID:qObad1mn
>>963
ストリームにfloat3渡しても、vs側でfloat4で取れるんで
足りない部分の補完と変換はやってくれると思ったんですが違うんすかね?
966名前は開発中のものです。:2012/04/29(日) 19:57:52.36 ID:YeU4gB4u
>>965
次元の追加はやってくれないと思うよ。

vcgの宣言を2次元にして、
float2 in a_Position : POSITION,

掛け算のとこを修正して、
//v_Position = mul( a_Position, wvp);
v_Position = mul( float4(a_Position,0.0,1.0), wvp);

この修正でwin上では絵が出たよ。
967名前は開発中のものです。:2012/04/29(日) 20:02:24.93 ID:qObad1mn
>>966
むむ、ありがとうございます。
でもサンプルではfloat3でやってるんですよねぇ。
short2だからマズイんだろうか…
968名前は開発中のものです。:2012/04/29(日) 20:11:21.59 ID:YeU4gB4u
>>967
たしかにサンプルは次元があってないね。
なぜか偶然うまくいってるだけだと思うけど。
969名前は開発中のものです。:2012/04/29(日) 20:45:40.98 ID:bxrAnjnF
ところでPSSで扱えるシェーダって、Cg だと思ってて、ドキュメントにもそう記載されてるんだけど、
もしかして普通の Cg じゃない? 構造体使った in/out が出来ない。main プロシージャの引数に並べないとダメ?
970名前は開発中のものです。:2012/04/29(日) 20:52:48.13 ID:O7+MySY4
>>969
上の方でGLSLにトランスレートしてるとか書いてる人がいるから
CgからGLSLに変換してるんじゃなかろーか

GLSL や Cg の予約語と、同じ名前の変数や関数は使用できません。
一部の予約語は case-insensitive であり注意が必要です (Texture, Matrix, Vector など)。
vertex shader の出力と fragment shader の入力には、セマンティクスの指定が必要です。
vertex shader の出力と fragment shader の入力は、名前とセマンティクスの両方が一致する必要があります。
fragment shader の出力には、COLOR セマンティクスの指定が必要です。
一つのシェーダー内で、重複する TEXUNIT セマンティクスは使用できません。
一部のセマンティクスでは、変数の型が制限されます (NORMAL, PSIZE, FOG など)
ループの反復回数の最大値は、定数である必要があります。
ループの反復回数を制御する場合は、break 文でループを中断してください。
attribute, varying, sampler 変数の配列は使用できません。
uniform float2/3/4 の xyzw への、uniform int による配列アクセスは使用できません。
uniform float4x4 の columns への、uniform int による配列アクセスは使用できません。
スカラー変数に対する swizzle は使用できません (f.xxxx など)。
  PSIZE がない場合、varying 変数は 8 packed vectors まで使用可能です (POSITION を除く)。
PSIZE がある場合、varying 変数は 8 vectors まで使用可能です (POSITION, PSIZE を除く)。

マニュアルには構造体は使えないとか書いてないけど
971名前は開発中のものです。:2012/04/29(日) 20:52:55.77 ID:XVpEt3Gn
>>953
>バグってなかったら8x8サイズのスプライト、7800個達成っす

弾幕シューティング、いけそうだな。
PS Storeに東方の同人ゲーが溢れる日も近いw

972名前は開発中のものです。:2012/04/29(日) 20:55:10.96 ID:bxrAnjnF
なんか出来ないっぽい。ShaderConverter に拒否られる。以下のような方式はNGらしい。

struct VIN
{
 float4 pos : POSITION;
 float2 uv : TEXCOORD0;
};

struct VOUT
{
 〜略〜
};


VOUT main(in VIN vi)
{
 〜略〜
}
973名前は開発中のものです。:2012/04/29(日) 20:59:27.15 ID:bxrAnjnF
>>970
ありがとう、あぁやっぱ雰囲気からして、やっぱ最終的に GLSL になるのかな。
てことは、HLSL に似た Technique / Pass の制御、確か Cg では使えたと思うけど、
それも無理かも。未確認だが。 てかむしろそれなら最初から GLSL のつもりで書いてくかな
PSS でのマルチパス関係調べてみるか…
974名前は開発中のものです。:2012/04/29(日) 21:12:42.14 ID:yxcGXafH
PSSuite SDKのドキュメントは日本語版もあるし、解説も丁寧ですね。
SDKロードマップ通りに今後APIが追加されたらゲーム以外のアプリも期待できそう。
カメラと位置情報周りが楽しみ
975名前は開発中のものです。:2012/04/29(日) 21:34:59.34 ID:qObad1mn
次の最適化はフレームバッファの解像度と色数変更なんですがなんかバグってるっす。
フォーラムで質問してる人がいるんで次のアプデまで保留っすかね。
弾幕STGなら480x272のRenerTarget作って描画がいいんすかね?
976名前は開発中のものです。:2012/04/29(日) 22:09:46.40 ID:qObad1mn
描画の最適化
フレームバッファに書き込めるpixelは12MB
Zオクルージョンで同一ピクセルの上書きをしない?
しかしアルファ部分はどうする?
っていい方法ないっすかね?
977名前は開発中のものです。:2012/04/29(日) 22:10:18.84 ID:MSihccW9
>>975
せっかく検証したんだし
それも報告したらどーすかね?
βなので向こうも情報多い方が助かるだろうし
978名前は開発中のものです。:2012/04/29(日) 22:15:02.99 ID:qObad1mn
>>977
PSIDばれちゃうんで何か恥ずかしいっす
てか英語わからないんで…
誰か報告してくれたありがたいっす
979名前は開発中のものです。:2012/04/29(日) 22:36:50.35 ID:LQZJ/SLM
PSS用のアカウント作ればいいだろ
PSIDなんてメアドさえあればいくらでも作れるのに
980名前は開発中のものです。:2012/04/29(日) 22:53:50.32 ID:VKuklqm4
フォーラムは日本語OKだぞ
981名前は開発中のものです。:2012/04/29(日) 23:33:32.72 ID:UuHYWMT2
どこ見ても英語なんだが…
982名前は開発中のものです。:2012/04/29(日) 23:35:09.68 ID:kAZdvNsj
というか、"コミュニティラウンジ"ができてるな。
983名前は開発中のものです。:2012/04/29(日) 23:36:54.38 ID:kAZdvNsj
>>981
Form > PlayStation Suite Developer Forums > General > コミュニティラウンジ
984名前は開発中のものです。:2012/04/29(日) 23:42:54.28 ID:UuHYWMT2
>>983
サンクス
985名前は開発中のものです。:2012/04/30(月) 04:59:27.96 ID:c2rM0epk
過去に DirectX9以前、OpenGLの3未満の経験がある人向け、一言メモ。

DirectXやOpenGLでも、新しい版では固定パイプラインは消えたかレガシー化したけど、
PSSのシェーダアプローチも同様。

つまり、射影変換行列やライト、マテリアルなんかの、最終的に描画するピクセルの位置や色の決定に関わるものについて、
コアエンジンへ伝達する規定の方法は無くなった。
最終的な仕組み上は元々そうだったけど、規定の関数に隠されて、それ越しに設定してたそれらは、
もっと単純に自分でシェーダ書いて送り込む形に整理された。

ただしその代わり、それら過去のアプローチの代替になるものが、BasicProgramクラス にまとめられてる。
このAPIクラスが、過去の固定パイプラインだったものそのもの。
なので、自分でシェーダ書かずに、とりあえずなにか描画したい人は、これを利用すること

メモは以上
986名前は開発中のものです。:2012/04/30(月) 05:58:06.27 ID:6+JcS61E
次スレはこの板ではなくてプログラム板に立てたほうがよくね?

ひとまずのテンプレ案

【PS Suite】PlayStation Suite SDK part2
PlayStation Suite SDKを使ってゲームやアプリを作るためのスレ
ttp://www.playstation.com/pss/developer/index_j.html
987名前は開発中のものです。:2012/04/30(月) 06:31:19.65 ID:c2rM0epk
>>986
それも確かに一案だと思うんだが、ただ、今の状態って、俺もそうだけど他の人、"っす" の人とかも、
APIについて色々調べたりしてる段階で、だからこんな話が続くけど、この先ある程度見えてきたら
最終的にはゲーム類作りたいワケだったり、

その内キャラクタモデルやアニメーションデータ、音声その他の話に展開するかもしれなくて、
その辺考えると、 ゲーム製作って元々プログラミングだけでなく、その辺全部含む物だから
どっちかなぁ… と、ちょっと迷う感じ
988名前は開発中のものです。:2012/04/30(月) 07:58:59.11 ID:wbVWqItW
>>954

onDrawでDrawArraysがnumOf回呼んでるのを、
vertexBufferをnumOf個分用意して
そこにスプライトの格頂点を貯めていってから
DrawArraysを一回だけ呼ぶようにすれば
百万スプライトくらいかけるようになるはずなので試してみて

drawArraysはめちゃんこ遅いので。
989名前は開発中のものです。:2012/04/30(月) 07:59:35.22 ID:3hLA/9ZQ
PlayStation Suiteプログラミング part 2

PlayStation(R) Suite SDKを使ってゲームやアプリを作るためのスレ

SDKは現在オープンβで公開中です。

■PSS公式サイト
http://www.playstation.com/pss/developer/index_j.html

■PSSウィキ
http://monobook.org/wiki/PlayStation_Suite_SDK

■前スレ
PlayStation Suiteプログラミング part 1
http://toro.2ch.net/test/read.cgi/gamedev/1330137413/
990名前は開発中のものです。:2012/04/30(月) 08:25:36.00 ID:c2rM0epk
>>988
>vertexBufferをnumOf個分用意して
>そこにスプライトの格頂点を貯めていってから

まだ上にあげられたソース見て無いんだけど、そうなってなかったのか
991名前は開発中のものです。:2012/04/30(月) 09:05:53.29 ID:gfrN0qXA
>>988
Scene3.csはそうだけど、アクティブなのはScene2.csのほう。
992名前は開発中のものです。:2012/04/30(月) 09:19:38.05 ID:0M2ibX2c
独自形式のファイルを扱うときに自動的に
/Application/にコピーされるようにする方法ってある?
993名前は開発中のものです。:2012/04/30(月) 09:49:07.02 ID:WSb9Ltcy
>>989
ゲ制作技術でよかったのに...
俺が新しくここでpart2を立てるわ
994名前は開発中のものです。:2012/04/30(月) 09:51:13.49 ID:c2rM0epk
>>992
右クリックしてプロパティから
995名前は開発中のものです。:2012/04/30(月) 09:56:10.06 ID:0M2ibX2c
こんなところにあったんですね...
ありがとうございます
996名前は開発中のものです。:2012/04/30(月) 11:16:55.39 ID:olBCt1gy
>>985
ありがてえ 本気でありがてえ
997名前は開発中のものです。:2012/04/30(月) 12:19:37.97 ID:5JYEf0oq
次スレ
PlayStation Suiteプログラミング part 2
http://toro.2ch.net/test/read.cgi/gamedev/1335755875/
998名前は開発中のものです。:2012/04/30(月) 12:23:33.20 ID:GXo0qujN
Openβの情報も入ったわけだしテンプレを纏めてから立てるべきだったんじゃないのか
999名前は開発中のものです。:2012/04/30(月) 12:27:08.81 ID:NbXLO4lT
だな
1000名前は開発中のものです。:2012/04/30(月) 12:27:38.47 ID:lMA6KT92
>>998
part 3に向けてテンプレ作成たのむ
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。