AssimpView now displays meshes and mroe detailled statistics in the scene browser.
Improve the user interface. takes more screen space now, but provides more information and less clumsy buttons. git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@731 67173fc5-114c-0410-ac8e-9d2fd5bffc1fpull/1/head
parent
367a452ed9
commit
c29e985f12
|
@ -155,7 +155,7 @@ int CDisplay::AddNodeToDisplayList(
|
||||||
ai_assert(NULL != pcNode);
|
ai_assert(NULL != pcNode);
|
||||||
ai_assert(NULL != hRoot);
|
ai_assert(NULL != hRoot);
|
||||||
|
|
||||||
char chTemp[512];
|
char chTemp[MAXLEN];
|
||||||
|
|
||||||
if(0 == pcNode->mName.length) {
|
if(0 == pcNode->mName.length) {
|
||||||
if (iIndex >= 100) {
|
if (iIndex >= 100) {
|
||||||
|
@ -166,9 +166,11 @@ int CDisplay::AddNodeToDisplayList(
|
||||||
iIndex += iDepth * 100;
|
iIndex += iDepth * 100;
|
||||||
}
|
}
|
||||||
else iIndex += iDepth * 10;
|
else iIndex += iDepth * 10;
|
||||||
sprintf(chTemp,"Node %i",iIndex);
|
sprintf(chTemp,"Node %i (%i meshes)",iIndex,pcNode->mNumMeshes);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
sprintf(chTemp,"%s (%i meshes)",pcNode->mName.data,pcNode->mNumMeshes);
|
||||||
}
|
}
|
||||||
else strcpy(chTemp,pcNode->mName.data);
|
|
||||||
|
|
||||||
TVITEMEXW tvi;
|
TVITEMEXW tvi;
|
||||||
TVINSERTSTRUCTW sNew;
|
TVINSERTSTRUCTW sNew;
|
||||||
|
@ -207,6 +209,53 @@ int CDisplay::AddNodeToDisplayList(
|
||||||
this->AddNode(info);
|
this->AddNode(info);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------
|
||||||
|
int CDisplay::AddMeshToDisplayList(unsigned int iIndex, HTREEITEM hRoot)
|
||||||
|
{
|
||||||
|
aiMesh* pcMesh = g_pcAsset->pcScene->mMeshes[iIndex];
|
||||||
|
|
||||||
|
char chTemp[MAXLEN];
|
||||||
|
|
||||||
|
if(0 == pcMesh->mName.length) {
|
||||||
|
sprintf(chTemp,"Mesh %i (%i faces)",iIndex,pcMesh->mNumFaces);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
sprintf(chTemp,"%s (%i faces)",pcMesh->mName.data,pcMesh->mNumFaces);
|
||||||
|
}
|
||||||
|
|
||||||
|
TVITEMEXW tvi;
|
||||||
|
TVINSERTSTRUCTW sNew;
|
||||||
|
|
||||||
|
wchar_t tmp[512];
|
||||||
|
int t = MultiByteToWideChar(CP_UTF8,0,chTemp,-1,tmp,512);
|
||||||
|
|
||||||
|
tvi.pszText = tmp;
|
||||||
|
tvi.cchTextMax = (int)t;
|
||||||
|
|
||||||
|
tvi.mask = TVIF_TEXT | TVIF_SELECTEDIMAGE | TVIF_IMAGE | TVIF_HANDLE | TVIF_PARAM;
|
||||||
|
tvi.iImage = this->m_aiImageList[AI_VIEW_IMGLIST_NODE];
|
||||||
|
tvi.iSelectedImage = this->m_aiImageList[AI_VIEW_IMGLIST_NODE];
|
||||||
|
tvi.lParam = (LPARAM)5;
|
||||||
|
|
||||||
|
sNew.itemex = tvi;
|
||||||
|
sNew.hInsertAfter = TVI_LAST;
|
||||||
|
sNew.hParent = hRoot;
|
||||||
|
|
||||||
|
// add the item to the list
|
||||||
|
HTREEITEM hTexture = (HTREEITEM)SendMessage(GetDlgItem(g_hDlg,IDC_TREE1),
|
||||||
|
TVM_INSERTITEMW,
|
||||||
|
0,
|
||||||
|
(LPARAM)(LPTVINSERTSTRUCT)&sNew);
|
||||||
|
|
||||||
|
// add the mesh to the list of all mesh entries in the scene browser
|
||||||
|
MeshInfo info;
|
||||||
|
info.hTreeItem = hTexture;
|
||||||
|
info.psMesh = pcMesh;
|
||||||
|
AddMesh(info);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------
|
||||||
// Replace the currently selected texture by another one
|
// Replace the currently selected texture by another one
|
||||||
int CDisplay::ReplaceCurrentTexture(const char* szPath)
|
int CDisplay::ReplaceCurrentTexture(const char* szPath)
|
||||||
|
@ -685,6 +734,10 @@ int CDisplay::FillDisplayList(void)
|
||||||
for (unsigned int i = 0; i < g_pcAsset->pcScene->mNumMaterials;++i)
|
for (unsigned int i = 0; i < g_pcAsset->pcScene->mNumMaterials;++i)
|
||||||
AddMaterialToDisplayList(m_hRoot,i);
|
AddMaterialToDisplayList(m_hRoot,i);
|
||||||
|
|
||||||
|
// add each mesh to the tree
|
||||||
|
for (unsigned int i = 0; i < g_pcAsset->pcScene->mNumMeshes;++i)
|
||||||
|
AddMeshToDisplayList(i,m_hRoot);
|
||||||
|
|
||||||
// now add all loaded nodes recursively
|
// now add all loaded nodes recursively
|
||||||
AddNodeToDisplayList(0,0,g_pcAsset->pcScene->mRootNode,m_hRoot);
|
AddNodeToDisplayList(0,0,g_pcAsset->pcScene->mRootNode,m_hRoot);
|
||||||
|
|
||||||
|
@ -822,6 +875,7 @@ int CDisplay::Reset(void)
|
||||||
m_asMaterials.clear();
|
m_asMaterials.clear();
|
||||||
m_asTextures.clear();
|
m_asTextures.clear();
|
||||||
m_asNodes.clear();
|
m_asNodes.clear();
|
||||||
|
m_asMeshes.clear();
|
||||||
|
|
||||||
m_hRoot = NULL;
|
m_hRoot = NULL;
|
||||||
|
|
||||||
|
@ -1646,6 +1700,9 @@ int CDisplay::DrawHUD()
|
||||||
as[0].x -= 0.5f;as[1].x -= 0.5f;as[2].x -= 0.5f;as[3].x -= 0.5f;
|
as[0].x -= 0.5f;as[1].x -= 0.5f;as[2].x -= 0.5f;as[3].x -= 0.5f;
|
||||||
as[0].y -= 0.5f;as[1].y -= 0.5f;as[2].y -= 0.5f;as[3].y -= 0.5f;
|
as[0].y -= 0.5f;as[1].y -= 0.5f;as[2].y -= 0.5f;as[3].y -= 0.5f;
|
||||||
|
|
||||||
|
g_piDevice->SetSamplerState(0,D3DSAMP_MAGFILTER,D3DTEXF_LINEAR);
|
||||||
|
g_piDevice->SetSamplerState(0,D3DSAMP_MINFILTER,D3DTEXF_LINEAR);
|
||||||
|
|
||||||
// draw the screen-filling squad
|
// draw the screen-filling squad
|
||||||
DWORD dw2;g_piDevice->GetFVF(&dw2);
|
DWORD dw2;g_piDevice->GetFVF(&dw2);
|
||||||
g_piDevice->SetFVF(D3DFVF_XYZRHW | D3DFVF_TEX1);
|
g_piDevice->SetFVF(D3DFVF_XYZRHW | D3DFVF_TEX1);
|
||||||
|
|
|
@ -150,6 +150,17 @@ public:
|
||||||
HTREEITEM hTreeItem;
|
HTREEITEM hTreeItem;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//------------------------------------------------------------------
|
||||||
|
// represents a mesh in the tree view
|
||||||
|
struct MeshInfo
|
||||||
|
{
|
||||||
|
// the mesh object
|
||||||
|
aiMesh* psMesh;
|
||||||
|
|
||||||
|
// corresponding tree view item
|
||||||
|
HTREEITEM hTreeItem;
|
||||||
|
};
|
||||||
|
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
// represents a material in the tree view
|
// represents a material in the tree view
|
||||||
struct MaterialInfo
|
struct MaterialInfo
|
||||||
|
@ -240,7 +251,7 @@ public:
|
||||||
|
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
// Add a node to the display list
|
// Add a node to the display list
|
||||||
// Recusrivly add all subnodes
|
// Recusrivly adds all subnodes as well
|
||||||
// iIndex - Index of the node in the parent's child list
|
// iIndex - Index of the node in the parent's child list
|
||||||
// iDepth - Current depth of the node
|
// iDepth - Current depth of the node
|
||||||
// pcNode - Node object
|
// pcNode - Node object
|
||||||
|
@ -251,6 +262,14 @@ public:
|
||||||
aiNode* pcNode,
|
aiNode* pcNode,
|
||||||
HTREEITEM hRoot);
|
HTREEITEM hRoot);
|
||||||
|
|
||||||
|
//------------------------------------------------------------------
|
||||||
|
// Add a mesh to the display list
|
||||||
|
// iIndex - Index of the mesh in the scene's mesh list
|
||||||
|
// hRoot - Parent tree view node
|
||||||
|
int AddMeshToDisplayList(
|
||||||
|
unsigned int iIndex,
|
||||||
|
HTREEITEM hRoot);
|
||||||
|
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
// Load the image list for the tree view item
|
// Load the image list for the tree view item
|
||||||
int LoadImageList(void);
|
int LoadImageList(void);
|
||||||
|
@ -350,6 +369,13 @@ public:
|
||||||
this->m_asNodes.push_back(info);
|
this->m_asNodes.push_back(info);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//------------------------------------------------------------------
|
||||||
|
// add a new mesh to the list
|
||||||
|
inline void AddMesh(const MeshInfo& info)
|
||||||
|
{
|
||||||
|
this->m_asMeshes.push_back(info);
|
||||||
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
// add a new material to the list
|
// add a new material to the list
|
||||||
inline void AddMaterial(const MaterialInfo& info)
|
inline void AddMaterial(const MaterialInfo& info)
|
||||||
|
@ -469,6 +495,9 @@ private:
|
||||||
// List of all node in the display CB
|
// List of all node in the display CB
|
||||||
std::vector<NodeInfo> m_asNodes;
|
std::vector<NodeInfo> m_asNodes;
|
||||||
|
|
||||||
|
// List of all node in the display CB
|
||||||
|
std::vector<MeshInfo> m_asMeshes;
|
||||||
|
|
||||||
// current Node or NULL if no Node is active
|
// current Node or NULL if no Node is active
|
||||||
NodeInfo* m_pcCurrentNode;
|
NodeInfo* m_pcCurrentNode;
|
||||||
|
|
||||||
|
|
|
@ -412,7 +412,7 @@ void ToggleUIState()
|
||||||
DWORD dwValue;
|
DWORD dwValue;
|
||||||
if (BST_UNCHECKED == IsDlgButtonChecked(g_hDlg,IDC_BLUBB))
|
if (BST_UNCHECKED == IsDlgButtonChecked(g_hDlg,IDC_BLUBB))
|
||||||
{
|
{
|
||||||
SetWindowPos(g_hDlg,NULL,0,0,sRect.right-188,sRect.bottom,
|
SetWindowPos(g_hDlg,NULL,0,0,sRect.right-214,sRect.bottom,
|
||||||
SWP_NOMOVE | SWP_NOZORDER);
|
SWP_NOMOVE | SWP_NOZORDER);
|
||||||
|
|
||||||
dwValue = 0;
|
dwValue = 0;
|
||||||
|
@ -421,7 +421,7 @@ void ToggleUIState()
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SetWindowPos(g_hDlg,NULL,0,0,sRect.right+188,sRect.bottom,
|
SetWindowPos(g_hDlg,NULL,0,0,sRect.right+214,sRect.bottom,
|
||||||
SWP_NOMOVE | SWP_NOZORDER);
|
SWP_NOMOVE | SWP_NOZORDER);
|
||||||
|
|
||||||
dwValue = 1;
|
dwValue = 1;
|
||||||
|
@ -1027,7 +1027,7 @@ void InitUI()
|
||||||
sRect2.left -= sRect.left;
|
sRect2.left -= sRect.left;
|
||||||
sRect2.top -= sRect.top;
|
sRect2.top -= sRect.top;
|
||||||
|
|
||||||
SetWindowPos(g_hDlg,NULL,0,0,sRect.right-188,sRect.bottom,
|
SetWindowPos(g_hDlg,NULL,0,0,sRect.right-214,sRect.bottom,
|
||||||
SWP_NOMOVE | SWP_NOZORDER);
|
SWP_NOMOVE | SWP_NOZORDER);
|
||||||
SetWindowText(GetDlgItem(g_hDlg,IDC_BLUBB),">>");
|
SetWindowText(GetDlgItem(g_hDlg,IDC_BLUBB),">>");
|
||||||
}
|
}
|
||||||
|
@ -1361,7 +1361,7 @@ INT_PTR CALLBACK MessageProc(HWND hwndDlg,UINT uMsg,
|
||||||
r = (unsigned char)(CDisplay::Instance().GetFirstCheckerColor()->x * 255.0f);
|
r = (unsigned char)(CDisplay::Instance().GetFirstCheckerColor()->x * 255.0f);
|
||||||
g = (unsigned char)(CDisplay::Instance().GetFirstCheckerColor()->y * 255.0f);
|
g = (unsigned char)(CDisplay::Instance().GetFirstCheckerColor()->y * 255.0f);
|
||||||
b = (unsigned char)(CDisplay::Instance().GetFirstCheckerColor()->z * 255.0f);
|
b = (unsigned char)(CDisplay::Instance().GetFirstCheckerColor()->z * 255.0f);
|
||||||
szText = "B0";
|
szText = "Background #0";
|
||||||
}
|
}
|
||||||
else if (!g_pcAsset)
|
else if (!g_pcAsset)
|
||||||
{
|
{
|
||||||
|
@ -1372,7 +1372,7 @@ INT_PTR CALLBACK MessageProc(HWND hwndDlg,UINT uMsg,
|
||||||
r = (unsigned char)((g_avLightColors[0] >> 16) & 0xFF);
|
r = (unsigned char)((g_avLightColors[0] >> 16) & 0xFF);
|
||||||
g = (unsigned char)((g_avLightColors[0] >> 8) & 0xFF);
|
g = (unsigned char)((g_avLightColors[0] >> 8) & 0xFF);
|
||||||
b = (unsigned char)((g_avLightColors[0]) & 0xFF);
|
b = (unsigned char)((g_avLightColors[0]) & 0xFF);
|
||||||
szText = "L0";
|
szText = "Light #0";
|
||||||
}
|
}
|
||||||
HBRUSH hbr = CreateSolidBrush(RGB(r,g,b));
|
HBRUSH hbr = CreateSolidBrush(RGB(r,g,b));
|
||||||
|
|
||||||
|
@ -1381,7 +1381,7 @@ INT_PTR CALLBACK MessageProc(HWND hwndDlg,UINT uMsg,
|
||||||
|
|
||||||
SetTextColor(pcStruct->hDC,RGB(0xFF-r,0xFF-g,0xFF-b));
|
SetTextColor(pcStruct->hDC,RGB(0xFF-r,0xFF-g,0xFF-b));
|
||||||
SetBkMode(pcStruct->hDC,TRANSPARENT);
|
SetBkMode(pcStruct->hDC,TRANSPARENT);
|
||||||
TextOut(pcStruct->hDC,4,1,szText,2);
|
TextOut(pcStruct->hDC,4,1,szText,strlen(szText));
|
||||||
bDraw = true;
|
bDraw = true;
|
||||||
}
|
}
|
||||||
else if(IDC_LCOLOR2 == pcStruct->CtlID)
|
else if(IDC_LCOLOR2 == pcStruct->CtlID)
|
||||||
|
@ -1394,7 +1394,7 @@ INT_PTR CALLBACK MessageProc(HWND hwndDlg,UINT uMsg,
|
||||||
r = (unsigned char)(CDisplay::Instance().GetSecondCheckerColor()->x * 255.0f);
|
r = (unsigned char)(CDisplay::Instance().GetSecondCheckerColor()->x * 255.0f);
|
||||||
g = (unsigned char)(CDisplay::Instance().GetSecondCheckerColor()->y * 255.0f);
|
g = (unsigned char)(CDisplay::Instance().GetSecondCheckerColor()->y * 255.0f);
|
||||||
b = (unsigned char)(CDisplay::Instance().GetSecondCheckerColor()->z * 255.0f);
|
b = (unsigned char)(CDisplay::Instance().GetSecondCheckerColor()->z * 255.0f);
|
||||||
szText = "B1";
|
szText = "Background #1";
|
||||||
}
|
}
|
||||||
else if (!g_pcAsset)
|
else if (!g_pcAsset)
|
||||||
{
|
{
|
||||||
|
@ -1405,14 +1405,14 @@ INT_PTR CALLBACK MessageProc(HWND hwndDlg,UINT uMsg,
|
||||||
r = (unsigned char)((g_avLightColors[1] >> 16) & 0xFF);
|
r = (unsigned char)((g_avLightColors[1] >> 16) & 0xFF);
|
||||||
g = (unsigned char)((g_avLightColors[1] >> 8) & 0xFF);
|
g = (unsigned char)((g_avLightColors[1] >> 8) & 0xFF);
|
||||||
b = (unsigned char)((g_avLightColors[1]) & 0xFF);
|
b = (unsigned char)((g_avLightColors[1]) & 0xFF);
|
||||||
szText = "L1";
|
szText = "Light #1";
|
||||||
}
|
}
|
||||||
HBRUSH hbr = CreateSolidBrush(RGB(r,g,b));
|
HBRUSH hbr = CreateSolidBrush(RGB(r,g,b));
|
||||||
FillRect(pcStruct->hDC,&sRect,hbr);
|
FillRect(pcStruct->hDC,&sRect,hbr);
|
||||||
|
|
||||||
SetTextColor(pcStruct->hDC,RGB(0xFF-r,0xFF-g,0xFF-b));
|
SetTextColor(pcStruct->hDC,RGB(0xFF-r,0xFF-g,0xFF-b));
|
||||||
SetBkMode(pcStruct->hDC,TRANSPARENT);
|
SetBkMode(pcStruct->hDC,TRANSPARENT);
|
||||||
TextOut(pcStruct->hDC,4,1,szText,2);
|
TextOut(pcStruct->hDC,4,1,szText,strlen(szText));
|
||||||
bDraw = true;
|
bDraw = true;
|
||||||
}
|
}
|
||||||
else if(IDC_LCOLOR3 == pcStruct->CtlID)
|
else if(IDC_LCOLOR3 == pcStruct->CtlID)
|
||||||
|
@ -1434,14 +1434,14 @@ INT_PTR CALLBACK MessageProc(HWND hwndDlg,UINT uMsg,
|
||||||
r = (unsigned char)((g_avLightColors[2] >> 16) & 0xFF);
|
r = (unsigned char)((g_avLightColors[2] >> 16) & 0xFF);
|
||||||
g = (unsigned char)((g_avLightColors[2] >> 8) & 0xFF);
|
g = (unsigned char)((g_avLightColors[2] >> 8) & 0xFF);
|
||||||
b = (unsigned char)((g_avLightColors[2]) & 0xFF);
|
b = (unsigned char)((g_avLightColors[2]) & 0xFF);
|
||||||
szText = "A0";
|
szText = "Ambient";
|
||||||
}
|
}
|
||||||
HBRUSH hbr = CreateSolidBrush(RGB(r,g,b));
|
HBRUSH hbr = CreateSolidBrush(RGB(r,g,b));
|
||||||
FillRect(pcStruct->hDC,&sRect,hbr);
|
FillRect(pcStruct->hDC,&sRect,hbr);
|
||||||
|
|
||||||
SetTextColor(pcStruct->hDC,RGB(0xFF-r,0xFF-g,0xFF-b));
|
SetTextColor(pcStruct->hDC,RGB(0xFF-r,0xFF-g,0xFF-b));
|
||||||
SetBkMode(pcStruct->hDC,TRANSPARENT);
|
SetBkMode(pcStruct->hDC,TRANSPARENT);
|
||||||
TextOut(pcStruct->hDC,4,1,szText,2);
|
TextOut(pcStruct->hDC,4,1,szText,strlen(szText));
|
||||||
bDraw = true;
|
bDraw = true;
|
||||||
}
|
}
|
||||||
// draw the black border around the rects
|
// draw the black border around the rects
|
||||||
|
|
|
@ -198,10 +198,10 @@ int LoadAsset(void)
|
||||||
char szTemp[MAX_PATH+64];
|
char szTemp[MAX_PATH+64];
|
||||||
sprintf(szTemp,"Starting to load %s",g_szFileName);
|
sprintf(szTemp,"Starting to load %s",g_szFileName);
|
||||||
CLogWindow::Instance().WriteLine(
|
CLogWindow::Instance().WriteLine(
|
||||||
"****************************************************************************");
|
"----------------------------------------------------------------------------");
|
||||||
CLogWindow::Instance().WriteLine(szTemp);
|
CLogWindow::Instance().WriteLine(szTemp);
|
||||||
CLogWindow::Instance().WriteLine(
|
CLogWindow::Instance().WriteLine(
|
||||||
"****************************************************************************");
|
"----------------------------------------------------------------------------");
|
||||||
CLogWindow::Instance().SetAutoUpdate(false);
|
CLogWindow::Instance().SetAutoUpdate(false);
|
||||||
|
|
||||||
// create a helper thread to load the asset
|
// create a helper thread to load the asset
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
// Microsoft Visual C++ generated resource script.
|
// Microsoft Visual C++ generated resource script.
|
||||||
//
|
//
|
||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
#include "..\\..\\revision.h"
|
|
||||||
|
|
||||||
#define APSTUDIO_READONLY_SYMBOLS
|
#define APSTUDIO_READONLY_SYMBOLS
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -54,75 +53,67 @@ BEGIN
|
||||||
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,0,10,281,1
|
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,0,10,281,1
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_DIALOGMAIN DIALOGEX 0, 0, 594, 381
|
IDD_DIALOGMAIN DIALOGEX 0, 0, 615, 485
|
||||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
EXSTYLE WS_EX_ACCEPTFILES
|
EXSTYLE WS_EX_TOPMOST | WS_EX_ACCEPTFILES | WS_EX_WINDOWEDGE
|
||||||
CAPTION "Open Asset Import Library - ModelViewer "
|
CAPTION "Open Asset Import Library - ModelViewer "
|
||||||
MENU IDR_MENU1
|
MENU IDR_MENU1
|
||||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
FONT 8, "Microsoft Sans Serif", 400, 0, 0x0
|
||||||
BEGIN
|
BEGIN
|
||||||
CONTROL "",IDC_RT,"Static",SS_OWNERDRAW,3,5,462,351
|
CONTROL "Multisampling",IDC_TOGGLEMS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,9,394,56,12
|
||||||
CONTROL "Multisampling",IDC_TOGGLEMS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,473,241,80,10
|
CONTROL "Wireframe",IDC_TOGGLEWIRE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,9,404,57,12
|
||||||
CONTROL "Wireframe",IDC_TOGGLEWIRE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,473,251,49,10
|
CONTROL "No materials",IDC_TOGGLEMAT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,9,415,64,12
|
||||||
CONTROL "No materials",IDC_TOGGLEMAT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,473,261,55,10
|
LTEXT "Verts:",IDC_NUMVERTS,220,400,31,9
|
||||||
LTEXT "Verts:",IDC_NUMVERTS,475,14,27,8
|
LTEXT "Faces:\t",IDC_NUMFACES,295,400,26,9
|
||||||
LTEXT "Faces:\t",IDC_NUMFACES,539,14,22,8
|
LTEXT "Mats:",IDC_NUMMATS,295,413,23,9
|
||||||
LTEXT "Mats:",IDC_NUMMATS,540,26,20,8
|
LTEXT "FPS:",IDC_FPS,295,442,23,9
|
||||||
LTEXT "FPS:",IDC_FPS,540,51,20,8
|
CONTROL "Display normals",IDC_TOGGLENORMALS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,9,425,62,12
|
||||||
CONTROL "Display normals",IDC_TOGGLENORMALS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,473,271,65,10
|
CONTROL "Toggle AutoRotate",IDC_AUTOROTATE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,109,394,87,12
|
||||||
CONTROL "Toggle AutoRotate",IDC_AUTOROTATE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,473,348,74,10
|
EDITTEXT IDC_EVERT,253,396,37,14,ES_AUTOHSCROLL | ES_READONLY
|
||||||
EDITTEXT IDC_EVERT,504,11,32,12,ES_AUTOHSCROLL | ES_READONLY
|
EDITTEXT IDC_EFACE,322,396,34,14,ES_AUTOHSCROLL | ES_READONLY
|
||||||
EDITTEXT IDC_EFACE,565,11,29,12,ES_AUTOHSCROLL | ES_READONLY
|
EDITTEXT IDC_EMAT,322,411,34,14,ES_AUTOHSCROLL | ES_READONLY
|
||||||
EDITTEXT IDC_EMAT,565,24,29,12,ES_AUTOHSCROLL | ES_READONLY
|
EDITTEXT IDC_EFPS,322,441,34,14,ES_AUTOHSCROLL | ES_READONLY
|
||||||
EDITTEXT IDC_EFPS,565,50,29,12,ES_AUTOHSCROLL | ES_READONLY
|
CONTROL "Rotate light sources",IDC_LIGHTROTATE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,109,416,87,12
|
||||||
CONTROL "Rotate light sources",IDC_LIGHTROTATE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,473,368,74,10
|
CONTROL "Two lights",IDC_3LIGHTS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,109,427,56,12
|
||||||
CONTROL "Two lights",IDC_3LIGHTS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,473,281,48,10
|
LTEXT "Time:",IDC_LOADTIME,220,442,34,9
|
||||||
LTEXT "Time:",IDC_LOADTIME,475,51,29,8
|
EDITTEXT IDC_ELOAD,253,441,37,14,ES_AUTOHSCROLL | ES_READONLY
|
||||||
EDITTEXT IDC_ELOAD,504,50,32,12,ES_AUTOHSCROLL | ES_READONLY
|
CONTROL "Zoom/Rotate",IDC_ZOOM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,109,405,68,12
|
||||||
CONTROL "Zoom/Rotate",IDC_ZOOM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,473,358,58,10
|
CONTROL "Low quality",IDC_LOWQUALITY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,9,435,48,12
|
||||||
CONTROL "Low quality",IDC_LOWQUALITY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,473,291,74,10
|
CONTROL "No specular ",IDC_NOSPECULAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,9,446,50,12
|
||||||
CONTROL "No specular ",IDC_NOSPECULAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,473,301,74,10
|
LTEXT "Shd:",IDC_NUMSHADERS,221,430,27,9
|
||||||
LTEXT "Shd:",IDC_NUMSHADERS,476,40,23,8
|
EDITTEXT IDC_ESHADER,253,426,37,14,ES_AUTOHSCROLL | ES_READONLY
|
||||||
EDITTEXT IDC_ESHADER,504,37,32,12,ES_AUTOHSCROLL | ES_READONLY
|
LTEXT "[M]",IDC_STATIC,84,394,13,9
|
||||||
LTEXT "[M]",IDC_STATIC,553,241,11,8
|
LTEXT "[W]",IDC_STATIC,84,404,13,9
|
||||||
LTEXT "[W]",IDC_STATIC,553,251,11,8
|
LTEXT "[D]",IDC_STATIC,84,470,13,9
|
||||||
LTEXT "[D]",IDC_STATIC,553,261,11,8
|
LTEXT "[N]",IDC_STATIC,84,415,13,9
|
||||||
LTEXT "[N]",IDC_STATIC,553,271,11,8
|
LTEXT "[L]",IDC_STATIC,194,428,13,9
|
||||||
LTEXT "[L]",IDC_STATIC,553,281,11,8
|
LTEXT "[P]",IDC_STATIC,84,425,13,9
|
||||||
LTEXT "[P]",IDC_STATIC,553,291,11,8
|
LTEXT "[S]",IDC_STATIC,84,437,13,9
|
||||||
LTEXT "[S]",IDC_STATIC,553,301,11,8
|
LTEXT "[A]",IDC_STATIC,194,395,13,9
|
||||||
LTEXT "[A]",IDC_STATIC,552,348,11,8
|
LTEXT "[Z]",IDC_STATIC,194,406,13,9
|
||||||
LTEXT "[Z]",IDC_STATIC,552,358,11,8
|
LTEXT "[R]",IDC_STATIC,194,417,13,9
|
||||||
LTEXT "[R]",IDC_STATIC,552,368,11,8
|
COMBOBOX IDC_COMBO1,332,372,98,30,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
|
||||||
COMBOBOX IDC_COMBO1,353,361,84,30,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
|
LTEXT "Nodes:",IDC_NUMNODES,221,413,28,9
|
||||||
CONTROL 149,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE,470,0,114,9
|
EDITTEXT IDC_ENODEWND,253,411,37,14,ES_AUTOHSCROLL | ES_READONLY
|
||||||
CONTROL 148,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE,470,229,114,9
|
CONTROL "",IDC_TREE1,"SysTreeView32",TVS_HASBUTTONS | TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP,473,0,142,484
|
||||||
CONTROL 147,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE,470,336,114,9
|
LTEXT "Mesh:",IDC_NUMMESHES,295,428,23,9
|
||||||
CONTROL 146,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE,470,65,114,9
|
EDITTEXT IDC_EMESH,322,426,34,14,ES_AUTOHSCROLL | ES_READONLY
|
||||||
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDVERT,469,0,1,381
|
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDVERT,100,392,1,87
|
||||||
CONTROL 149,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE,584,0,10,9
|
CONTROL "Button1",IDC_LCOLOR1,"Button",BS_OWNERDRAW | WS_TABSTOP,400,396,59,20
|
||||||
CONTROL 149,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE,584,65,10,9
|
CONTROL "Button1",IDC_LCOLOR2,"Button",BS_OWNERDRAW | WS_TABSTOP,400,418,59,20
|
||||||
CONTROL 149,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE,584,229,10,9
|
CONTROL "Button1",IDC_LCOLOR3,"Button",BS_OWNERDRAW | WS_TABSTOP,400,440,59,20
|
||||||
CONTROL 149,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE,584,336,10,9
|
PUSHBUTTON "Reset",IDC_LRESET,421,464,37,13,BS_BOTTOM
|
||||||
LTEXT "Nodes:",IDC_NUMNODES,476,26,24,8
|
EDITTEXT IDC_VIEWMATRIX,220,411,71,44,ES_MULTILINE | ES_AUTOHSCROLL | ES_READONLY | NOT WS_VISIBLE
|
||||||
EDITTEXT IDC_ENODEWND,504,24,32,12,ES_AUTOHSCROLL | ES_READONLY
|
CONTROL "Show skeleton",IDC_SHOWSKELETON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,9,457,58,12
|
||||||
CONTROL "",IDC_TREE1,"SysTreeView32",TVS_HASBUTTONS | TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP,471,74,123,155
|
LTEXT "[K]",IDC_STATIC,84,447,13,9
|
||||||
LTEXT "Mesh:",IDC_NUMMESHES,540,39,20,8
|
CONTROL "<<",IDC_BLUBB,"Button",BS_AUTOCHECKBOX | BS_PUSHLIKE | WS_TABSTOP,431,372,39,14
|
||||||
EDITTEXT IDC_EMESH,565,37,29,12,ES_AUTOHSCROLL | ES_READONLY
|
LTEXT "[C]",IDC_STATIC,84,459,13,9
|
||||||
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDVERT,567,238,1,93
|
CONTROL "",IDC_SLIDERANIM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,0,372,300,16
|
||||||
CONTROL "Button1",IDC_LCOLOR1,"Button",BS_OWNERDRAW | WS_TABSTOP,570,242,21,17
|
PUSHBUTTON "Play",IDC_PLAY,301,372,29,13
|
||||||
CONTROL "Button1",IDC_LCOLOR2,"Button",BS_OWNERDRAW | WS_TABSTOP,570,262,21,17
|
CONTROL "Backface culling",IDC_BFCULL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,9,468,65,12
|
||||||
CONTROL "Button1",IDC_LCOLOR3,"Button",BS_OWNERDRAW | WS_TABSTOP,570,282,21,17
|
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDVERT,209,392,1,70
|
||||||
PUSHBUTTON "R",IDC_LRESET,576,300,15,11,BS_BOTTOM
|
CONTROL "",IDC_RT,"Static",SS_OWNERDRAW,0,0,473,370
|
||||||
EDITTEXT IDC_VIEWMATRIX,475,24,61,38,ES_MULTILINE | ES_AUTOHSCROLL | ES_READONLY | NOT WS_VISIBLE
|
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,1,388,469,1
|
||||||
CONTROL "Show skeleton",IDC_SHOWSKELETON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,473,312,74,10
|
|
||||||
LTEXT "[K]",IDC_STATIC,553,312,11,8
|
|
||||||
CONTROL "<<",IDC_BLUBB,"Button",BS_AUTOCHECKBOX | BS_PUSHLIKE | WS_TABSTOP,439,361,27,15
|
|
||||||
LTEXT "[C]",IDC_STATIC,553,323,11,8
|
|
||||||
CONTROL "",IDC_SLIDERANIM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,0,362,322,15
|
|
||||||
PUSHBUTTON "Play",IDC_PLAY,326,361,25,15
|
|
||||||
CONTROL "Backface culling",IDC_BFCULL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,473,323,74,10
|
|
||||||
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,0,358,470,1
|
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_LOADDIALOG DIALOGEX 0, 0, 143, 60
|
IDD_LOADDIALOG DIALOGEX 0, 0, 143, 60
|
||||||
|
@ -205,8 +196,8 @@ END
|
||||||
//
|
//
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 1,1,SVNRevision,0
|
FILEVERSION 1,1,700,0
|
||||||
PRODUCTVERSION 1,1,SVNRevision,1
|
PRODUCTVERSION 1,1,700,1
|
||||||
FILEFLAGSMASK 0x17L
|
FILEFLAGSMASK 0x17L
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 0x1L
|
FILEFLAGS 0x1L
|
||||||
|
@ -252,6 +243,11 @@ BEGIN
|
||||||
BOTTOMMARGIN, 138
|
BOTTOMMARGIN, 138
|
||||||
END
|
END
|
||||||
|
|
||||||
|
IDD_DIALOGMAIN, DIALOG
|
||||||
|
BEGIN
|
||||||
|
BOTTOMMARGIN, 484
|
||||||
|
END
|
||||||
|
|
||||||
IDD_LOADDIALOG, DIALOG
|
IDD_LOADDIALOG, DIALOG
|
||||||
BEGIN
|
BEGIN
|
||||||
LEFTMARGIN, 7
|
LEFTMARGIN, 7
|
||||||
|
|
|
@ -41,6 +41,7 @@
|
||||||
#define IDR_TXPOPUP 156
|
#define IDR_TXPOPUP 156
|
||||||
#define IDR_MATPOPUP 157
|
#define IDR_MATPOPUP 157
|
||||||
#define IDD_DIALOGSMOOTH 159
|
#define IDD_DIALOGSMOOTH 159
|
||||||
|
#define SVNRevision 700
|
||||||
#define IDC_CHECK1 1000
|
#define IDC_CHECK1 1000
|
||||||
#define IDC_TOGGLEMS 1000
|
#define IDC_TOGGLEMS 1000
|
||||||
#define IDC_CHECK2 1001
|
#define IDC_CHECK2 1001
|
||||||
|
|
Loading…
Reference in New Issue