| Index: dxgltest/Tests3D.cpp |
| — | — | @@ -634,9 +634,10 @@ |
| 635 | 635 | case 2:
|
| 636 | 636 | MakeCube3D(points,normals,vertices);
|
| 637 | 637 | ZeroMemory(&material,sizeof(D3DMATERIAL7));
|
| 638 | | - material.diffuse.r = 1.0f;
|
| 639 | | - material.diffuse.g = 1.0f;
|
| 640 | | - material.diffuse.b = 1.0f;
|
| | 638 | + material.ambient.r = 1.0f;
|
| | 639 | + material.ambient.g = 1.0f;
|
| | 640 | + material.ambient.b = 1.0f;
|
| | 641 | + material.ambient.a = 1.0f;
|
| 641 | 642 | error = d3d7dev->SetMaterial(&material);
|
| 642 | 643 | error = d3d7dev->SetRenderState(D3DRENDERSTATE_LIGHTING, TRUE);
|
| 643 | 644 | error = d3d7dev->SetRenderState(D3DRENDERSTATE_AMBIENT, 0xffffffff);
|
| — | — | @@ -750,7 +751,93 @@ |
| 751 | 752 | {
|
| 752 | 753 | }
|
| 753 | 754 |
|
| | 755 | +void PopulateArgCombo(HWND hWnd)
|
| | 756 | +{
|
| | 757 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Diffuse"));
|
| | 758 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Current"));
|
| | 759 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Texture"));
|
| | 760 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Factor"));
|
| | 761 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Specular"));
|
| | 762 | +}
|
| 754 | 763 |
|
| | 764 | +void PopulateOpCombo(HWND hWnd, bool color)
|
| | 765 | +{
|
| | 766 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Disable"));
|
| | 767 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Select Arg 1"));
|
| | 768 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Select Arg 2"));
|
| | 769 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Modulate"));
|
| | 770 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Modulate 2x"));
|
| | 771 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Modulate 4x"));
|
| | 772 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Add"));
|
| | 773 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Add Signed"));
|
| | 774 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Add Signed 2x"));
|
| | 775 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Subtract"));
|
| | 776 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Add Smooth"));
|
| | 777 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Blend Diffuse Alpha"));
|
| | 778 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Blend Texture Alpha"));
|
| | 779 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Blend Factor Alpha"));
|
| | 780 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Blend Texture Alpha PM"));
|
| | 781 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Blend Current Alpha"));
|
| | 782 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Premodulate"));
|
| | 783 | + if(color)
|
| | 784 | + {
|
| | 785 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Modulate Alpha Add Color"));
|
| | 786 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Modulate Color Add Alpha"));
|
| | 787 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Modulate Inv. Alpha Add Color"));
|
| | 788 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Modulate Inv. Color Add Alpha"));
|
| | 789 | + }
|
| | 790 | + else
|
| | 791 | + {
|
| | 792 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("(invalid)"));
|
| | 793 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("(invalid)"));
|
| | 794 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("(invalid)"));
|
| | 795 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("(invalid)"));
|
| | 796 | + }
|
| | 797 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Bump Env. Map"));
|
| | 798 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Bump Env. Map Luminance"));
|
| | 799 | + if(color) SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Dot Product3"));
|
| | 800 | +}
|
| | 801 | +
|
| | 802 | +void PopulateBlendCombo(HWND hWnd, bool src)
|
| | 803 | +{
|
| | 804 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Zero"));
|
| | 805 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("One"));
|
| | 806 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Source Color"));
|
| | 807 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Inv. Src. Color"));
|
| | 808 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Source Alpha"));
|
| | 809 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Inv. Src. Alpha"));
|
| | 810 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Dest. Alpha"));
|
| | 811 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Inv. Dest. Alpha"));
|
| | 812 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Dest. Color"));
|
| | 813 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Inv. Dest. Color"));
|
| | 814 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Src. Alpha Sat."));
|
| | 815 | + if(src)
|
| | 816 | + {
|
| | 817 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Both Src. Alpha"));
|
| | 818 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Both Inv. Src. Alpha"));
|
| | 819 | + }
|
| | 820 | +}
|
| | 821 | +
|
| | 822 | +void PopulateCompareCombo(HWND hWnd)
|
| | 823 | +{
|
| | 824 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Never"));
|
| | 825 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Less"));
|
| | 826 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Equal"));
|
| | 827 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Less or Equal"));
|
| | 828 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Greater"));
|
| | 829 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Not Equal"));
|
| | 830 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Greater or Equal"));
|
| | 831 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Always"));
|
| | 832 | +}
|
| | 833 | +
|
| | 834 | +void PopulateFogCombo(HWND hWnd)
|
| | 835 | +{
|
| | 836 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("None"));
|
| | 837 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Exponential"));
|
| | 838 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Exp. Squared"));
|
| | 839 | + SendMessage(hWnd,CB_ADDSTRING,0,(LPARAM)_T("Linear"));
|
| | 840 | +}
|
| | 841 | +
|
| 755 | 842 | INT_PTR CALLBACK TexShader7Proc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
|
| 756 | 843 | {
|
| 757 | 844 | HRESULT error;
|
| — | — | @@ -804,7 +891,43 @@ |
| 805 | 892 | error = d3d7dev->SetViewport(&vp);
|
| 806 | 893 | error = d3d7dev->SetRenderState(D3DRENDERSTATE_ZENABLE,TRUE);
|
| 807 | 894 | InitTest3D(2);
|
| 808 | | -
|
| | 895 | + SendDlgItemMessage(hWnd,IDC_SPINSTAGE,UDM_SETRANGE32,0,7);
|
| | 896 | + SendDlgItemMessage(hWnd,IDC_TEXCOLORKEY,WM_SETTEXT,0,(LPARAM)_T("FFFFFFFF"));
|
| | 897 | + SendDlgItemMessage(hWnd,IDC_TEXTURE,CB_ADDSTRING,0,(LPARAM)_T("None"));
|
| | 898 | + SendDlgItemMessage(hWnd,IDC_TEXTURE,CB_ADDSTRING,0,(LPARAM)_T("Gradients"));
|
| | 899 | + SendDlgItemMessage(hWnd,IDC_TEXTURE,CB_ADDSTRING,0,(LPARAM)_T("DXGL logo (small)"));
|
| | 900 | + SendDlgItemMessage(hWnd,IDC_TEXTURE,CB_ADDSTRING,0,(LPARAM)_T("DXGL logo (large)"));
|
| | 901 | + SendDlgItemMessage(hWnd,IDC_TEXTURE,CB_ADDSTRING,0,(LPARAM)_T("Texture file"));
|
| | 902 | + SendDlgItemMessage(hWnd,IDC_TEXTURE,CB_SETCURSEL,0,0);
|
| | 903 | + PopulateArgCombo(GetDlgItem(hWnd,IDC_CARG1));
|
| | 904 | + PopulateArgCombo(GetDlgItem(hWnd,IDC_CARG2));
|
| | 905 | + PopulateArgCombo(GetDlgItem(hWnd,IDC_AARG1));
|
| | 906 | + PopulateArgCombo(GetDlgItem(hWnd,IDC_AARG2));
|
| | 907 | + SendDlgItemMessage(hWnd,IDC_CARG1,CB_SETCURSEL,D3DTA_TEXTURE,0);
|
| | 908 | + SendDlgItemMessage(hWnd,IDC_CARG2,CB_SETCURSEL,D3DTA_CURRENT,0);
|
| | 909 | + SendDlgItemMessage(hWnd,IDC_AARG1,CB_SETCURSEL,D3DTA_TEXTURE,0);
|
| | 910 | + SendDlgItemMessage(hWnd,IDC_AARG2,CB_SETCURSEL,D3DTA_CURRENT,0);
|
| | 911 | + PopulateOpCombo(GetDlgItem(hWnd,IDC_COLOROP),true);
|
| | 912 | + PopulateOpCombo(GetDlgItem(hWnd,IDC_ALPHAOP),false);
|
| | 913 | + SendDlgItemMessage(hWnd,IDC_COLOROP,CB_SETCURSEL,D3DTOP_MODULATE-1,0);
|
| | 914 | + SendDlgItemMessage(hWnd,IDC_ALPHAOP,CB_SETCURSEL,D3DTOP_SELECTARG1-1,0);
|
| | 915 | + SendDlgItemMessage(hWnd,IDC_DIFFUSE,WM_SETTEXT,0,(LPARAM)_T("FFFFFFFF"));
|
| | 916 | + SendDlgItemMessage(hWnd,IDC_SPECULAR,WM_SETTEXT,0,(LPARAM)_T("00000000"));
|
| | 917 | + SendDlgItemMessage(hWnd,IDC_FACTOR,WM_SETTEXT,0,(LPARAM)_T("00000000"));
|
| | 918 | + SendDlgItemMessage(hWnd,IDC_FOGCOLOR,WM_SETTEXT,0,(LPARAM)_T("00000000"));
|
| | 919 | + PopulateBlendCombo(GetDlgItem(hWnd,IDC_SRCBLEND),true);
|
| | 920 | + PopulateBlendCombo(GetDlgItem(hWnd,IDC_DESTBLEND),true);
|
| | 921 | + SendDlgItemMessage(hWnd,IDC_SRCBLEND,CB_SETCURSEL,D3DBLEND_ONE-1,0);
|
| | 922 | + SendDlgItemMessage(hWnd,IDC_DESTBLEND,CB_SETCURSEL,D3DBLEND_ZERO-1,0);
|
| | 923 | + PopulateCompareCombo(GetDlgItem(hWnd,IDC_ALPHAFUNC));
|
| | 924 | + SendDlgItemMessage(hWnd,IDC_ALPHAFUNC,CB_SETCURSEL,D3DCMP_ALWAYS-1,0);
|
| | 925 | + PopulateFogCombo(GetDlgItem(hWnd,IDC_VERTEXFOGMODE));
|
| | 926 | + PopulateFogCombo(GetDlgItem(hWnd,IDC_PIXELFOGMODE));
|
| | 927 | + SendDlgItemMessage(hWnd,IDC_VERTEXFOGMODE,CB_SETCURSEL,D3DFOG_NONE,0);
|
| | 928 | + SendDlgItemMessage(hWnd,IDC_PIXELFOGMODE,CB_SETCURSEL,D3DFOG_NONE,0);
|
| | 929 | + SendDlgItemMessage(hWnd,IDC_FOGSTART,WM_SETTEXT,0,(LPARAM)_T("0.0"));
|
| | 930 | + SendDlgItemMessage(hWnd,IDC_FOGEND,WM_SETTEXT,0,(LPARAM)_T("1.0"));
|
| | 931 | + SendDlgItemMessage(hWnd,IDC_FOGDENSITY,WM_SETTEXT,0,(LPARAM)_T("1.0"));
|
| 809 | 932 | ::width = ddsd.dwWidth;
|
| 810 | 933 | ::height = ddsd.dwHeight;
|
| 811 | 934 | StartTimer(hWnd,WM_APP,60);
|
| Index: dxgltest/dxgltest.rc |
| Cannot display: file marked as a binary type. |
| svn:mime-type = application/octet-stream |