These pages are written by only Japanese.

Welcom to My Diary.com
最新の日記タイトル一覧カテゴリ別タイトル一覧トップへ戻る〜

おはようございます♪ 現在は4月29日(月)6時42分。 鳥がさえずり始める頃です。


hns - 日記自動生成システム - Version 2.19.5 (色々 Fixed)

先月 2011年05月 来月
01 02 03 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Namazu for hns による簡易全文検索です。
詳細は 詳細指定/ヘルプをご参照下さい。
検索式:

2011年05月12日(木)

[opengl] Point Sprite

↑これを PHP に移植してみた。

結果:


メモリ溢れ:

でも、少し経つと落ちます。
yoya@gw:~/git/phpopengl/php_opengl/sprite1$ php main.php
freeglut (1): Unable to create direct context rendering for window 'main.php'
This may hurt performance.

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 24 bytes) in /home/yoya/git/phpopengl/php_opengl/sprite1/main.php on line 108

課題:

  • glPointParameterfv 未対応です。頑張ります。
  • テクスチャが機能していない。ような?
  • efree 忘れがありそうなのでチェック。

2011年05月15日(日)

LXBadRenderRequest

試しに glPointParameterfv を PHP binding してみたけど、動かしてみたら失敗。

Point Sprite を使ってみる:

yoya@gw:~/git/phpopengl/samples/tokoi/sprite1$ php main.php
freeglut (main.php): Unable to create direct context rendering for window 'main.php'
This may hurt performance.
X Error of failed request:  GLXBadRenderRequest
  Major opcode of failed request:  148 (GLX)
  Minor opcode of failed request:  1 (X_GLXRender)
  Serial number of failed request:  37
  Current serial number in output stream:  38
なんでだろう? VNC 越しに動かしてるのとか binding おかしいとか色々心当たりあるので、 順番に潰さないとです。

PyOpenGL はじめました:glRotate:

yoya@gw:~/git/phpopengl/samples/kotsubu-chan$ php  colorCube.php
freeglut Unable to create direct context rendering for window ''
This may hurt performance.
X Error of failed request:  GLXBadRenderRequest
  Major opcode of failed request:  148 (GLX)
  Minor opcode of failed request:  1 (X_GLXRender)
  Serial number of failed request:  39
  Current serial number in output stream:  41
こちらは glDrawElements でエラー。
こっちも配列を渡す関数なので配列のマッピングに問題ありかな。

追記 (2011/05/21):

glPointParameterfv で GLXBadRenderRequest が発生するのは OpenGL バージョンの問題みたい。
OpenGL ライブラリのヘッダを見ると 1.4 からの API らしいけど、 僕の開発環境は 1.3 なので。

2011年05月16日(月)

phpopengl メモリリーク修正

PHPの配列をCの配列に落とす php_array_to_〜 系が返すポインタは emalloc で確保したメモリ領域を指しますが、
これが悉く解放されていなかったので、しらみつぶしに efree を入れました。

先日のプログラム:

↑この時だと、少し動いて落ちるのですが、 今回は最後まで動きます。

php_array_to_ubyte_array:

動いてなかったので修正。
glDrawElements の挙動がおかしくて気付いて修正。けど。まだ
glColorPointer, glVertexPointer, glDrawElements のコンボで動作しない。
もっと見直さないと。

2011年05月17日(火)

うーん。

やはり評価厳しいなぁ。作った物に対しても自分に対しても。鍛えなければ。。
戦わなければ生き残れない。。。

2011年05月19日(木)

[phpopengl]スクリーンショット

OpenGL for PHP で表示中の画像を落とすルーチンをまとめました。 で、 ↑ これに画像保存のルーチンを挟んで、更に GIF アニメにしてみました。

(3D っぽくないけど、一応 OpenGL の API で描画したものです)
これの PHP への移植 > http://marina.sys.wakayama-u.ac.jp/~tokoi/?date=20060227 直接見ると背景が青いのに glReadPixels で画像に落とすと赤くなる。何か足りないかしら。

glutGet:

画像に落とすのに、開いてるウィンドウのサイズを調べる必要がありますが、 glutGet を読んでみたら NULL しか返しませんでした。動くようにしました。 Get 系はあまり動かないかも。
とりあえず世の中の色んなサンプルを移植してみて、動かないと気づいた物から対応していきますが、もし、動かしてほしい関数がある人がいたら連絡下さい。
優先します。

[phpopengl]glReadPixels

phpopengl の glReadPixels API を PHP っぽくしました。red, green, blue [,alpha] の hash のリストを返します。メモリ沢山使いますけど。 使い方の変更イメージ。

色を替えてみました。やっぱり 3D っぽくないけど地面に着地してる所に気付いてもらえるといいな。

これで、5 日分だよ〜。

タイトル一覧
カテゴリ分類
Database
JXTA
Java
XML
awm
bookmark
keyword
memo
news
research
Powered by hns-2.19.5, HyperNikkiSystem Project