GLSLメモ(gl_VertexID)

このブログを完全放置してたけど、開発中のメモを残すのに再利用することにします

  • 頂点のIDの取得
    • gl_VertexIDはman pageではversion120で取得できると書いてあるが、実際は130以上で取得可能
    • version120以下では下記を記述することで使用可能
 #version 120
 #extension GL_EXT_gpu_shader4 : require
  • GLのヴァージョン確認方法
  printf("version:%s\n",glGetString(GL_VERSION));

LaTexをMacで

あまりにも何回も忘れるのでいい加減ログを残す。

  • インストール。めっちゃ時間かかるので注意
$ sudo port install pTeX +utf8 +nox11
  • png->epsをするのにconvertとかするので入れておく
$ sudo port install imagemagick
  • texからdviとか作る
platex ./sample.tex 
  • dviからpdfを作る
$ dvipdfmx ./sample.dvi
$ dvipdfmx -p a4 -l ./sample.dvi


ていうか5ヶ月ぶりの投稿がこんなんでごめんなさい;;

Received memory warningの警告への対処法

Received memory warningは様々な要因で起こり得ますが、とりあえずそのうちの一つの原因と対処法です。

ものすごい単純な事ですが、
[view addSubview:subview];
をしたオブジェクトが実際画面内に居ない時、
[subview removeFromSuperview];
をする事。

何を当たり前のこと言ってるんだと言われるかもしれませんが、意外と忘れがちです。
主にUIScrollView等にsubviewを大量に乗っけている時、画面から外れているsubviewは
superviewから外さないと、しばらくたってwarningが出てアプリが止まります。
とりあえず自分でこれをやってしまったので、メモを残します。

UIColorをRGBAに分解

UIColorをRGBAに分解します。

	UIColor *color = [UIColor colorWithRed:1.0 green:0.5 blue:0.2 alpha:1.0];

	const CGFloat *components = CGColorGetComponents(color.CGColor);
	CGFloat r = components[0];
	CGFloat g = components[1];
	CGFloat b = components[2];
	CGFloat a = components[3];

上記コードではcolorにR:1.0 G:0.5 B:0.2 A:1.0で作ったUIColorを再度Float値に分解しています。

UITextFieldのUnitTestエラー

UITextFieldを使用してるとLogicTestで下記のエラーが出る

  • exited abnormally with code 133 uitextfield

いろんなところで話題に挙ってるみたいだけど、良い解決方法が見つけられない。。。
とりあえず今のところの回避方法だけメモ

@interface UITextViewDmy : UIView	// Dummy for test
{
	NSString	*text;
}
@property(nonatomic,retain)NSString *text;
@end

こんな感じのダミーを用意してプリプロセッサで切り替えることでとりあえず回避。
もっといい方法を誰か知ってれば是非教えて下さいませ。。。