> DrawPrimitive3D関数で線ではなく点の集合を描画できればこの問題も解決するのではないかと思ったのですが、
> DX_PRIMTYPE_POINTLISTを試してみても描画されないようです(DrawPrimitiveで2Dの関数を使っている理由です)。
DrawPrimitive3D関数で問題なく点の集合を描画できると思いますが…駄目でしたか…?
手元で以下のような DrawPrimitive3D関数で DX_PRIMTYPE_POINTLIST を使用して画面に16個の点を描画する
プログラムを組んで実行してみたのですが、問題なく画面に16個の点が描画されました
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
VERTEX3D Vertex[ 16 ] ;
// ウィンドウモードで起動
ChangeWindowMode( TRUE ) ;
// DXライブラリの初期化
if( DxLib_Init() < 0 )
{
// エラーが発生したら直ちに終了
return -1 ;
}
// ライティングは行わない
SetUseLighting( FALSE ) ;
// 頂点データをセット
for( int i = 0 ; i < 16 ; i ++ )
{
Vertex[ i ].pos = VGet( i * 16.0f, i * 16.0f, 0.0f ) ;
Vertex[ i ].norm = VGet( 0.0f, 0.0f, -1.0f ) ;
Vertex[ i ].dif = GetColorU8( 255,255,255,255 ) ;
Vertex[ i ].spc = GetColorU8( 0, 0, 0, 0 ) ;
Vertex[ i ].u = 0.0f ;
Vertex[ i ].v = 0.0f ;
Vertex[ i ].su = 0.0f ;
Vertex[ i ].sv = 0.0f ;
}
// 点を描画
DrawPrimitive3D( Vertex, 16, DX_PRIMTYPE_POINTLIST, DX_NONE_GRAPH, FALSE ) ;
// キー入力待ちをする
WaitKey() ;
// DXライブラリの後始末
DxLib_End() ;
// ソフトの終了
return 0 ;
}
よろしければこちらのプログラムではゆーすけさんの環境でも正常に点が描画されるかお試しいただけないでしょうか? m(_ _)m
( 正常に動作すれば画面左下から右上に向かって16個の点が描画されます )