set_viewportのデフォルト設定追加、Vector#rotate_x/yの不具合修正
@@ -5687,6 +5687,7 @@ | ||
5687 | 5687 | ---------------------------------------------------------------------*/ |
5688 | 5688 | VALUE CustomRenderTarget_update( VALUE self ) |
5689 | 5689 | { |
5690 | + D3DVIEWPORT9 vp; | |
5690 | 5691 | struct DXRubyRenderTarget *rt = DXRUBY_GET_STRUCT( RenderTarget, self ); |
5691 | 5692 | DXRUBY_CHECK_DISPOSE( rt, surface ); |
5692 | 5693 | RenderTarget_clear( self ); |
@@ -5693,6 +5694,15 @@ | ||
5693 | 5694 | g_pD3DDevice->lpVtbl->Clear( g_pD3DDevice, 0, NULL, D3DCLEAR_TARGET | D3DCLEAR_STENCIL | D3DCLEAR_ZBUFFER, |
5694 | 5695 | D3DCOLOR_ARGB( rt->a, rt->r, rt->g, rt->b ), 1.0f, 0 ); |
5695 | 5696 | |
5697 | + /* ビューポートデフォルト設定 */ | |
5698 | + vp.X = 0; | |
5699 | + vp.Y = 0; | |
5700 | + vp.Width = rt->width; | |
5701 | + vp.Height = rt->height; | |
5702 | + vp.MinZ = 0.0; | |
5703 | + vp.MaxZ = 1.0; | |
5704 | + g_pD3DDevice->lpVtbl->SetViewport( g_pD3DDevice, &vp ); | |
5705 | + | |
5696 | 5706 | rb_funcall( self, SYM2ID( symbol_custom_render ), 1, mLowLevelInterface ); |
5697 | 5707 | |
5698 | 5708 | rt->PictureCount = 0; |
@@ -6319,7 +6329,7 @@ | ||
6319 | 6329 | /* VertexBufferクラス定義 */ |
6320 | 6330 | cVertexBuffer = rb_define_class_under( mDXRuby, "VertexBuffer", rb_cObject ); |
6321 | 6331 | |
6322 | - /* RenderTargetクラスにメソッド登録*/ | |
6332 | + /* VertexBufferクラスにメソッド登録*/ | |
6323 | 6333 | rb_define_private_method( cVertexBuffer, "initialize", VertexBuffer_initialize, 1 ); |
6324 | 6334 | rb_define_method( cVertexBuffer, "dispose" , VertexBuffer_dispose , 0 ); |
6325 | 6335 | rb_define_method( cVertexBuffer, "disposed?" , VertexBuffer_check_disposed, 0 ); |
@@ -1069,8 +1069,8 @@ | ||
1069 | 1069 | |
1070 | 1070 | angle = pi / 180.0f * NUM2FLOAT( vangle ); |
1071 | 1071 | result->v1 = vec->v1; |
1072 | - result->v2 = -sin( angle ) * vec->v2 + cos( angle ) * vec->v3; | |
1073 | - result->v3 = cos( angle ) * vec->v2 + sin( angle ) * vec->v3; | |
1072 | + result->v2 = cos( angle ) * vec->v2 - sin( angle ) * vec->v3; | |
1073 | + result->v3 = sin( angle ) * vec->v2 + cos( angle ) * vec->v3; | |
1074 | 1074 | result->v4 = vec->v4; |
1075 | 1075 | |
1076 | 1076 | return vresult; |
@@ -1089,9 +1089,9 @@ | ||
1089 | 1089 | result->x = vec->x; |
1090 | 1090 | |
1091 | 1091 | angle = pi / 180.0f * NUM2FLOAT( vangle ); |
1092 | - result->v1 = sin( angle ) * vec->v1 + cos( angle ) * vec->v3; | |
1092 | + result->v1 = cos( -angle ) * vec->v1 - sin( -angle ) * vec->v3; | |
1093 | 1093 | result->v2 = vec->v2; |
1094 | - result->v3 = cos( angle ) * vec->v1 - sin( angle ) * vec->v3; | |
1094 | + result->v3 = sin( -angle ) * vec->v1 + cos( -angle ) * vec->v3; | |
1095 | 1095 | result->v4 = vec->v4; |
1096 | 1096 | |
1097 | 1097 | return vresult; |
@@ -1,10 +1,10 @@ | ||
1 | 1 | /* |
2 | 2 | ################################### |
3 | 3 | # |
4 | -# DXRuby 1.5.21dev | |
4 | +# DXRuby 1.5.22dev | |
5 | 5 | # |
6 | 6 | ################################### |
7 | 7 | */ |
8 | -#define DXRUBY_VERSION "1.5.21dev" | |
8 | +#define DXRUBY_VERSION "1.5.22dev" | |
9 | 9 | |
10 | 10 | #define DXRUBY15 |