3d Maxプラグインでビューポートに画像を描画したい場合 GraphicsWindowクラスには、ビューポートで3Dオブジェクトを描画する機能がありますが、これらの描画呼び出しは現在のビューポートとグラフィックスのレンダリングの制限。 これは望ましくありません。私が描画したい画像は、3Dグラフィックスモードがどんなグラフィックスモードであってもハードウェアが使用されていても描かれなければならないので、私は3D画像で描画する必要はありません。Max SDKでビューポートに画像を描画する方法
私はビューポートのHWNDを取得することができ、max sdkには関数があります。 DrawIconButton();
この機能を使用しようとしましたが、正常に機能しないため、画像はユーザーのやりとりでランダムにちらつきますが、対話性がないと消えます。 i RedrawViewsCallback関数でこの関数を実装しましたが、DrawIconButton()関数は説明されていませんが、これが正しい方法で実装されているかどうかはわかりません。ここで
は私がイメージを描画するために使用していたコードです:
void Sketch_RedrawViewsCallback::proc (Interface * ip)
{
Interface10* ip10 = GetCOREInterface10();
ViewExp* viewExp = ip10->GetActiveViewport();
ViewExp10* currentViewport;
if (viewExp != NULL)
{
currentViewport = reinterpret_cast<ViewExp10*>(viewExp->Execute(ViewExp::kEXECUTE_GET_VIEWEXP_10));
} else {
return;
}
GraphicsWindow* gw = currentViewport->getGW();
HWND ViewportWindow = gw->getHWnd();
HDC hdc = GetDC(ViewportWindow);
HBITMAP bitmapImage = LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_BITMAP1));
Rect rbox(IPoint2(0,0),IPoint2(48,48));
DrawIconButton(hdc, bitmapImage, rbox, rbox, true);
ReleaseDC(ViewportWindow, hdc);
ip->ReleaseViewport(currentViewport);
};
ようこそStackOverflow。これまでに試したことのあるコードは期待通りに動作していません。あなたがしようとしていることが誰にも分かっていない場合は、どのように行うのかを理解するのは非常に難しいです。 –