雑記帳

ブログを使わずにArrangeNoteで作っている公開雑記帳

Jul 29, 2008 - LINQ To XML、というレベルまで到達していないけど

XElementクラスにDateTimeやTimeSpanのインスタンスを追加するだけでxs:dateTime型やxs:duration型のデータを格納できるのは便利でよいのですが、 逆にDateTimeやTimeSpanのインスタンスを取得するために明示的な型変換でないと得られないのは困ります。

IronPython 2.0 Beta (2.0.0.2000) on .NET 2.0.50727.3031
Copyright (c) Microsoft Corporation. All rights reserved.
>>> import clr
>>> clr.AddReference( 'System.Xml.Linq' )
>>> from System import *
>>> from System.Xml.Linq import *
>>> x=XElement('X', TimeSpan(1,2,3,4,567) )
>>> # IronPythonからどうやってxのTimeSpanを取り出せばよいのだろう?

ちなみに、IronPython2.0B2では、Microsoft.Scripting.Runtime.Castクラスがあって、 Explicitメソッドで型変換できるのですが、これを使ってXElementオブジェクトの型変換はできません。 Cast.csの中を見れば明らかで、 Int32, Double, Boolean, Int64, Int16, UInt32, UInt64, UInt16, SByte, Byte, Single, Char, Decimal への型変換しか実装されていません。

>>> clr.AddReference('Microsoft.Scripting.Core' )
>>> from Microsoft.Scripting.Runtime import *
>>> Cast.Explicit( 123, Double )
123.0

Jul 25, 2008 - うっかりミス

今更ながら、RipplePictureのシェーダプログラムのコンパイラオプションがデバッグ用(学習用)のままになっていることに気付きました。orz

fxc.exe /Od /Zi /Tfx_2_0 /Fo…

Ver. 0.3.2で最適化無効(/Od)を外しましたが、描画性能が意外と改善された模様です。 そのため、これまでより「波紋の滑らかさ」の設定値を大きくしてあげる必要があります。

今一番の興味の対象がシェーダプログラミングです。 もうしばらくしたら「その他」のところにシェーダを使った新作を公開する予定です。

記事の一覧

Copyright © 2008 Koichi Yamamoto