約 101,322 件
https://w.atwiki.jp/sdvx/pages/7177.html
MAXIMUM 選択肢 投票数 投票 詐称 0 強 2 中 0 弱 0 逆詐称 0
https://w.atwiki.jp/sdvx/pages/9031.html
MAXIMUM 選択肢 投票数 投票 詐称 0 強 0 中 0 弱 0 逆詐称 0
https://w.atwiki.jp/sdvx/pages/6999.html
MAXIMUM 選択肢 投票数 投票 詐称 3 強 1 中 0 弱 0 逆詐称 0
https://w.atwiki.jp/mh3g_gunlance/pages/111.html
kbホブウェッウェアcおじjcっj
https://w.atwiki.jp/sdvx/pages/5130.html
MAXIMUM 選択肢 投票数 投票 詐称 0 強 0 中 0 弱 0 逆詐称 1
https://w.atwiki.jp/sdvx/pages/10165.html
MAXIMUM 選択肢 投票数 投票 詐称 1 強 1 中 0 弱 0 逆詐称 0
https://w.atwiki.jp/sdvx/pages/10842.html
MAXIMUM 選択肢 投票数 投票 詐称 0 強 0 中 0 弱 0 逆詐称 0
https://w.atwiki.jp/sdvx/pages/10680.html
MAXIMUM 選択肢 投票数 投票 詐称 0 強 0 中 1 弱 1 逆詐称 0
https://w.atwiki.jp/sdvx/pages/8694.html
MAXIMUM 選択肢 投票数 投票 詐称 8 強 2 中 2 弱 7 逆詐称 5
https://w.atwiki.jp/sampleisbest/pages/196.html
開発環境 Microsoft Visual C++ 2010 Express (SP1) 実行環境 Microsoft Windows XP Home Edition (SP3) プロジェクトの種類 Win32 プロジェクト プロジェクト名 DxMesh アプリケーションの種類 Windows アプリケーション 追加のオプション 空のプロジェクト 文字セット Unicode Microsoft DirectX SDK (February 2010) 参考 3Dオブジェクト描画のおさらい DxMesh.cpp /* プロジェクトのプロパティ [構成プロパティ]-[VC++ ディレクトリ] [インクルード ディレクトリ] C \Program Files\Microsoft DirectX SDK (February 2010)\Include [ライブラリ ディレクトリ] C \Program Files\Microsoft DirectX SDK (February 2010)\Lib\x86 Unicode */ #pragma comment(lib, "d3d9.lib") #pragma comment(lib, "d3dx9.lib") #include d3d9.h #include d3dx9.h #include stdio.h #include time.h #define WIDTH(rect) ((rect).right - (rect).left) #define HEIGHT(rect) ((rect).bottom - (rect).top) #define SAFE_RELEASE(p) { if(p) { (p)- Release(); (p)=NULL; } } #define APP_NAME L"DxMesh" struct Mesh { ID3DXBuffer *pMat; DWORD dwNumMat; ID3DXMesh *pMesh; }; // 関数プロトタイプ宣言 HRESULT InitD3D(HWND hWnd); LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); void Render(void); // 外部変数構造体 static struct { LPDIRECT3D9 pD3D;// Direct3D9 LPDIRECT3DDEVICE9 pDev;// レンダリングデバイス LPD3DXFONT pFont;// フォント Mesh cube; Mesh axis; D3DLIGHT9 light;// ライト } g; //============================================================================== int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE, LPTSTR lpCmdLine, int nCmdShow) { // ウィンドウクラスの登録 WNDCLASSEX wcx; ZeroMemory( wcx, sizeof wcx); wcx.cbSize= sizeof wcx; wcx.lpfnWndProc= WndProc; wcx.hInstance= hInstance; wcx.hCursor= LoadCursor(NULL, MAKEINTRESOURCE(IDC_ARROW)); wcx.lpszClassName= APP_NAME; if (RegisterClassEx( wcx) == 0) { return 0; } // ウィンドウサイズの計算 RECT rect; SetRect( rect, 0, 0, 640, 480); AdjustWindowRect( rect, WS_OVERLAPPEDWINDOW, FALSE); // ウィンドウの作成 HWND hWnd = CreateWindow( APP_NAME, APP_NAME, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, WIDTH(rect), HEIGHT(rect), NULL, NULL, hInstance, NULL); if (hWnd == NULL) { return 0; } // Direct3Dの初期化 if (FAILED(InitD3D(hWnd))) { return 0; } // ウィンドウ表示 ShowWindow(hWnd, nCmdShow); // メッセージループ MSG msg; do { Sleep(1); if (PeekMessage( msg, NULL, 0, 0, PM_REMOVE)) { TranslateMessage( msg); DispatchMessage( msg); } else { Render(); } } while (msg.message != WM_QUIT); SAFE_RELEASE(g.cube.pMesh); SAFE_RELEASE(g.axis.pMesh); SAFE_RELEASE(g.pFont); SAFE_RELEASE(g.pDev); SAFE_RELEASE(g.pD3D); return msg.wParam; } //------------------------------------------------------------------------------ HRESULT InitD3D(HWND hWnd) { // Direct3D g.pD3D = Direct3DCreate9(D3D_SDK_VERSION); if (g.pD3D == NULL) { return E_FAIL; } // デバイス作成用のパラメタ D3DPRESENT_PARAMETERS d3dpp; ZeroMemory( d3dpp, sizeof d3dpp); d3dpp.BackBufferFormat= D3DFMT_UNKNOWN;// モニタの設定と同じ d3dpp.BackBufferCount= 0;// バックバッファの数 0- 1 d3dpp.MultiSampleType= D3DMULTISAMPLE_NONE;// マルチサンプリングしない d3dpp.SwapEffect= D3DSWAPEFFECT_DISCARD;// Direct3Dに任せる d3dpp.hDeviceWindow= NULL;// カバーウィンドウ d3dpp.Windowed= TRUE;// ウィンドウモード d3dpp.EnableAutoDepthStencil= TRUE;// 深度バッファ自動管理 d3dpp.AutoDepthStencilFormat= D3DFMT_D16;// 深度バッファフォーマット d3dpp.PresentationInterval= D3DPRESENT_INTERVAL_DEFAULT;// モニタの垂直回帰を待つ // Direct3Dデバイスの作成 HRESULT hr = g.pD3D- CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_HARDWARE_VERTEXPROCESSING, d3dpp, g.pDev); // フォント if (SUCCEEDED(hr)) { hr = D3DXCreateFont(g.pDev, 40, 0, FW_HEAVY, 1, FALSE, SHIFTJIS_CHARSET, OUT_TT_ONLY_PRECIS, ANTIALIASED_QUALITY, FF_DONTCARE, L"MS Pゴシック", g.pFont); } // 立方体メッシュ作成 if (SUCCEEDED(hr)) { hr = D3DXLoadMeshFromX(L"C \\tmp\\Cube2.x", D3DXMESH_MANAGED, g.pDev, NULL, g.cube.pMat, NULL, g.cube.dwNumMat, g.cube.pMesh); } // 軸メッシュ作成 if (SUCCEEDED(hr)) { hr = D3DXLoadMeshFromX(L"C \\tmp\\Axis.x", D3DXMESH_MANAGED, g.pDev, NULL, g.axis.pMat, NULL, g.axis.dwNumMat, g.axis.pMesh); } // ライト if (SUCCEEDED(hr)) { //ZeroMemory( light, sizeof light); g.light.Type= D3DLIGHT_DIRECTIONAL; g.light.Diffuse= D3DXCOLOR(1.0f, 1.0f, 1.0f, 0.0f); g.light.Ambient= D3DXCOLOR(0.5f, 0.5f, 0.5f, 0.0f); g.light.Direction= D3DXVECTOR3(-1.0f, -20.0f, 0.0f); g.light.Range= 1000.0f; g.pDev- SetLight(0, g.light); g.pDev- LightEnable(0, TRUE); g.pDev- SetRenderState(D3DRS_LIGHTING, TRUE); g.pDev- SetRenderState(D3DRS_AMBIENT, 0x007f7f7f); } return hr; } //------------------------------------------------------------------------------ LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_DESTROY PostQuitMessage(0); return 0; } return DefWindowProc(hWnd, uMsg, wParam, lParam); } //------------------------------------------------------------------------------ void Render(void) { static int fps = 0; static int frame = 0; static time_t tmPrev = time(NULL); static float fDeg = 0.0f; // バックバッファのクリア g.pDev- Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0x7f,0x7f,0xff), 1.0f, 0); g.pDev- BeginScene(); fDeg += 1.0f; // ライト g.light.Direction.x = 20 * sin(D3DXToRadian(fDeg)); g.light.Direction.z = 20 * cos(D3DXToRadian(fDeg)); g.pDev- SetLight(0, g.light); // 立方体 D3DXMATRIX RotX; D3DXMATRIX RotY; D3DXMATRIX Offset; D3DXMatrixRotationX( RotX, D3DXToRadian(fDeg * 0.15f)); D3DXMatrixRotationY( RotY, D3DXToRadian(fDeg * 0.2f) + 70.0f); D3DXMatrixTranslation( Offset, 10.0f, 10.0f, 10.0f); D3DXMATRIX World; D3DXMatrixIdentity( World); D3DXMatrixMultiply( World, World, Offset); D3DXMatrixMultiply( World, World, RotX); D3DXMatrixMultiply( World, World, RotY); // ビュー変換 D3DXMATRIX View; float fEyeX = 47.5f * cos(D3DXToRadian(fDeg * 0.7f)); float fEyeY = 70.2f * cos(D3DXToRadian(fDeg * 0.2f)); float fEyeZ = 56.7f * sin(D3DXToRadian(fDeg * 1.2f)); D3DXMatrixLookAtLH( View, D3DXVECTOR3(fEyeX, fEyeY, fEyeZ), D3DXVECTOR3(0.0f, 0.0f, 0.0f), D3DXVECTOR3(sin(D3DXToRadian(fDeg * 0.4f)), 1.0f, 0.0f)); // 射影変換 D3DXMATRIX Proj; D3DXMatrixPerspectiveFovLH( Proj, D3DXToRadian(45.0f), 640.0f / 480.0f, 1.0f, 1000.0f); // 行列登録 g.pDev- SetTransform(D3DTS_WORLD, World); g.pDev- SetTransform(D3DTS_VIEW, View); g.pDev- SetTransform(D3DTS_PROJECTION, Proj); // 立方体描画 D3DCOLORVALUE MAmb = {0.2f, 0.2f, 0.2f, 1.0f}; for (DWORD dw = 0; dw g.cube.dwNumMat; dw++) { D3DXMATERIAL *mat = (D3DXMATERIAL *)g.cube.pMat- GetBufferPointer() + dw; mat- MatD3D.Ambient = MAmb; g.pDev- SetMaterial( mat- MatD3D); g.cube.pMesh- DrawSubset(dw); } // 軸 D3DXMATRIX WorldAxis; D3DXMatrixIdentity( WorldAxis); g.pDev- SetTransform(D3DTS_WORLD, WorldAxis); for (DWORD dw = 0; dw g.axis.dwNumMat; dw++) { D3DXMATERIAL *mat = (D3DXMATERIAL *)g.axis.pMat- GetBufferPointer() + dw; mat- MatD3D.Ambient = MAmb; g.pDev- SetMaterial( mat- MatD3D); g.axis.pMesh- DrawSubset(dw); } // fps TCHAR szBuf[32]; RECT rect; time_t tmCurr = time(NULL); if (tmCurr != tmPrev) { fps = frame; frame = 0; tmPrev = tmCurr; } frame++; SetRect( rect, 0, 0, 50, 20); swprintf_s(szBuf, L"time=%lld fps=%d", tmCurr, fps); g.pFont- DrawText(NULL, szBuf, -1, rect, DT_LEFT | DT_NOCLIP, D3DCOLOR_ARGB(0xff,0xff,0xff,0xff)); // バックバッファを表画面に反映 g.pDev- EndScene(); g.pDev- Present(NULL, NULL, NULL, NULL); }