本文整理汇总了C++中SGFixedGLState类的典型用法代码示例。如果您正苦于以下问题:C++ SGFixedGLState类的具体用法?C++ SGFixedGLState怎么用?C++ SGFixedGLState使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SGFixedGLState类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnTextEnterObjCoeffT
void SGOglTextureCoordNBPage::OnTextEnterObjCoeffT(wxCommandEvent &event)
{
SGFixedGLState* glState = m_parent->GetGLState();
glState->SetTextureChanged(true);
wxArrayString userEnteredValues;
vec4 objPlaneTVec;
if((parseVector(objectPlaneCoeffTextT->GetValue())).GetCount() == 4)
{
userEnteredValues = parseVector(objectPlaneCoeffTextT->GetValue());
for(int i = 0; i < 4; i++)
{
objPlaneTVec[i] = atof(userEnteredValues.Item(i).mb_str());
}
glState->GetTexture(texCoordUnitBox->GetSelection())->objectPlaneCoeffT = objPlaneTVec;
}
else
{
IncorrectFormat(wxT("four floating point values, with each value seperated by a comma."), *this);
return;
}
wxGetApp().GetFrame()->SetCanvasMode(0);
wxGetApp().GetFrame()->GetCanvas()->Update();
}
示例2: OnChoiceTextureCombineMode
void SGOglTextureEnvNBPage::OnChoiceTextureCombineMode(wxCommandEvent &event)
{
SGFixedGLState* glState = m_parent->GetGLState();
glState->SetTextureChanged(true);
Texture* texture = glState->GetTexture(textureBox->GetSelection());
switch(texCombineModeChoose->GetSelection()) {
case 0:
texture->textureCombineMode = GL_REPLACE;
break;
case 1:
texture->textureCombineMode = GL_MODULATE;
break;
case 2:
texture->textureCombineMode = GL_ADD;
break;
case 3:
texture->textureCombineMode = GL_ADD_SIGNED;
break;
case 4:
texture->textureCombineMode = GL_INTERPOLATE;
break;
case 5:
texture->textureCombineMode = GL_SUBTRACT;
break;
case 6:
texture->textureCombineMode = GL_DOT3_RGB;
break;
default:
break;
}
wxGetApp().GetFrame()->SetCanvasMode(0);
wxGetApp().GetFrame()->GetCanvas()->Update();
}
示例3: UpdateWidgets
void SGOglTextureCoordNBPage::UpdateWidgets()
{
SGFixedGLState* glState = m_parent->GetGLState();
glState->SetTextureChanged(true);
Texture* texture = glState->GetTexture(texCoordUnitBox->GetSelection());
switch(texture->textureCoordinateGeneration){
case GL_OBJECT_LINEAR:
coordGenBox->SetSelection(TEXTURE_COORDINATE_OBJECT_LINEAR);
break;
case GL_EYE_LINEAR:
coordGenBox->SetSelection(TEXTURE_COORDINATE_EYE_LINEAR);
break;
case GL_SPHERE_MAP:
coordGenBox->SetSelection(TEXTURE_COORDINATE_SPHERE_MAP);
break;
case GL_REFLECTION_MAP:
coordGenBox->SetSelection(TEXTURE_COORDINATE_REFLECTION_MAP);
break;
case GL_NORMAL_MAP:
coordGenBox->SetSelection(TEXTURE_COORDINATE_NORMAL_MAP);
break;
default:
break;
}
eyePlaneCoeffTextS->SetValue(FloatToString4(texture->eyePlaneCoeffS));
eyePlaneCoeffTextT->SetValue(FloatToString4(texture->eyePlaneCoeffT));
objectPlaneCoeffTextS->SetValue(FloatToString4(texture->objectPlaneCoeffS));
objectPlaneCoeffTextT->SetValue(FloatToString4(texture->objectPlaneCoeffT));
}
示例4: OnButton
void SGOglMaterialNBPage::OnButton(wxCommandEvent& event)
{
SGFixedGLState* glState = this->m_parent->GetGLState();
Material* mat = glState->GetMaterial();
glState->SetMaterialChanged(true);
switch(event.GetId()) {
case Id::AmbientMaterialVal :
mat->materialAmbientColorVector = GetDialog(mat, 1);
ambientMaterial->SetBackgroundColour(ToWxIntColor(mat->materialAmbientColorVector));
break;
case Id::DiffuseMaterialVal :
mat->materialDiffuseColorVector = GetDialog(mat, 2);
diffuseMaterial->SetBackgroundColour(ToWxIntColor(mat->materialDiffuseColorVector));
break;
case Id::SpecularMaterialVal :
mat->materialSpecularColorVector = GetDialog(mat, 3);
specularMaterial->SetBackgroundColour(ToWxIntColor(mat->materialSpecularColorVector));
break;
case Id::EmissionMaterialVal :
mat->materialEmissionColorVector = GetDialog(mat, 4);
emissionMaterial->SetBackgroundColour(ToWxIntColor(mat->materialEmissionColorVector));
break;
default :
break;
}
wxGetApp().GetFrame()->SetCanvasMode(0);
wxGetApp().GetFrame()->GetCanvas()->Update();
event.Skip();
}
示例5: wxStaticBox
SGOglMaterialNBPage::SGOglMaterialNBPage(SGOglNotebook* parent, wxWindowID id)
:wxPanel(parent,id)
{
m_parent = parent;
SGFixedGLState* glState = m_parent->GetGLState();
Material* mat = glState->GetMaterial();
wxStaticBox* materialBox = new wxStaticBox(this, wxID_ANY, wxT("Material Properties"), wxDefaultPosition, wxDefaultSize, 0);
wxStaticBoxSizer* materialSizer = new wxStaticBoxSizer(materialBox, wxHORIZONTAL);
wxBoxSizer* v1 = new wxBoxSizer(wxVERTICAL);
wxBoxSizer* v2 = new wxBoxSizer(wxVERTICAL);
wxBoxSizer* v3 = new wxBoxSizer(wxVERTICAL);
wxBoxSizer* v4 = new wxBoxSizer(wxVERTICAL);
wxBoxSizer* v5 = new wxBoxSizer(wxVERTICAL);
shininessMaterial = new wxTextCtrl(this, Id::ShininessMaterialVal, FloatToString1(mat->materialShininess), wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER, wxDefaultValidator, wxT("Specular Exponent"));
ambientMaterial = new wxButton(this, Id::AmbientMaterialVal, wxT(""), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, wxT("Ambient Color of Material"));
diffuseMaterial = new wxButton(this, Id::DiffuseMaterialVal, wxT(""), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, wxT("Diffuse Color of Material"));
specularMaterial = new wxButton(this, Id::SpecularMaterialVal,wxT(""), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, wxT("Specular Color of Material"));
emissionMaterial = new wxButton(this, Id::EmissionMaterialVal,wxT(""), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, wxT("Emissive Color of Material"));
ambientMaterial->SetBackgroundColour(ToWxIntColor(mat->materialAmbientColorVector));
diffuseMaterial->SetBackgroundColour(ToWxIntColor(mat->materialDiffuseColorVector));
specularMaterial->SetBackgroundColour(ToWxIntColor(mat->materialSpecularColorVector));
emissionMaterial->SetBackgroundColour(ToWxIntColor(mat->materialEmissionColorVector));
wxStaticText* ambientMatLbl = new wxStaticText(this, 0, wxT("GL_AMBIENT"), wxDefaultPosition, wxDefaultSize, wxALIGN_TOP);
wxStaticText* specularMatLbl = new wxStaticText(this, 0, wxT("GL_SPECULAR"), wxDefaultPosition, wxDefaultSize, wxALIGN_TOP);
wxStaticText* diffuseMatLbl = new wxStaticText(this, 0, wxT("GL_DIFFUSE"), wxDefaultPosition, wxDefaultSize, wxALIGN_TOP);
wxStaticText* shininessLbl = new wxStaticText(this, 0, wxT("GL_SHININESS"), wxDefaultPosition, wxDefaultSize, wxALIGN_TOP);
wxStaticText* emissionLbl = new wxStaticText(this, 0, wxT("GL_EMISSION"), wxDefaultPosition, wxDefaultSize, wxALIGN_TOP);
v2->Add(ambientMatLbl,0, wxTOP |wxBOTTOM | wxADJUST_MINSIZE, 9);
v2->Add(diffuseMatLbl,0, wxTOP |wxBOTTOM | wxADJUST_MINSIZE, 9);
v2->Add(specularMatLbl,0, wxTOP |wxBOTTOM | wxADJUST_MINSIZE, 9);
v3->Add(ambientMaterial,0, wxALIGN_CENTER | wxALL | wxADJUST_MINSIZE, 5);
v3->Add(diffuseMaterial,0, wxALIGN_CENTER | wxALL | wxADJUST_MINSIZE, 5);
v3->Add(specularMaterial,0, wxALIGN_CENTER | wxALL | wxADJUST_MINSIZE, 5);
v4->Add(shininessLbl,0, wxTOP |wxBOTTOM | wxADJUST_MINSIZE, 9);
v4->Add(emissionLbl,0, wxTOP |wxBOTTOM | wxADJUST_MINSIZE, 9);
v5->Add(shininessMaterial,0, wxALIGN_CENTER | wxALL | wxADJUST_MINSIZE, 5);
v5->Add(emissionMaterial,0, wxALIGN_CENTER | wxALL | wxADJUST_MINSIZE, 5);
materialSizer->Add(v1, 0 , wxALL |wxADJUST_MINSIZE, 10);
materialSizer->Add(v2, 0 , wxALL |wxADJUST_MINSIZE, 10);
materialSizer->Add(v3, 0 , wxALL |wxADJUST_MINSIZE, 10);
materialSizer->Add(v4, 0 , wxALL |wxADJUST_MINSIZE, 10);
materialSizer->Add(v5, 0 , wxALL |wxADJUST_MINSIZE, 10);
this->SetAutoLayout(TRUE);
SetSizer( materialSizer );
materialSizer->SetSizeHints( this );
}
示例6: OnChoiceTextureCombineScale
void SGOglTextureEnvNBPage::OnChoiceTextureCombineScale(wxCommandEvent &event)
{
SGFixedGLState* glState = m_parent->GetGLState();
glState->SetTextureChanged(true);
Texture* texture = glState->GetTexture(textureBox->GetSelection());
texture->textureCombineScale = (float)(1 << texCombineScaleChoose->GetSelection());
wxGetApp().GetFrame()->SetCanvasMode(0);
wxGetApp().GetFrame()->GetCanvas()->Update();
}
示例7: OnCheckbox
void SGOglTextureEnvNBPage::OnCheckbox(wxCommandEvent &event)
{
SGFixedGLState* glState = m_parent->GetGLState();
glState->SetTextureChanged(true);
switch(event.GetId()) {
case Id::TexEnableVal:
glState->SetTextureEnable(texEnableCheckBox->IsChecked());
break;
case Id::Tex0EnableVal:
glState->GetTexture(0)->textureEnabled = tex0CheckBox->IsChecked();
break;
case Id::Tex1EnableVal:
glState->GetTexture(1)->textureEnabled = tex1CheckBox->IsChecked();
break;
case Id::Tex2EnableVal:
glState->GetTexture(2)->textureEnabled = tex2CheckBox->IsChecked();
break;
case Id::Tex3EnableVal:
glState->GetTexture(3)->textureEnabled = tex3CheckBox->IsChecked();
break;
case Id::Tex4EnableVal:
glState->GetTexture(4)->textureEnabled = tex4CheckBox->IsChecked();
break;
default:
break;
}
wxGetApp().GetFrame()->SetCanvasMode(0);
wxGetApp().GetFrame()->GetCanvas()->Update();
}
示例8: OnTextEnter
void SGOglMaterialNBPage::OnTextEnter(wxCommandEvent& event)
{
SGFixedGLState* glState = m_parent->GetGLState();
glState->SetMaterialChanged(true);
wxArrayString userEnteredValues;
if((shininessMaterial->GetValue()).IsEmpty())
{
IncorrectFormat(wxT("one floating point value."), *this);
return;
}
glState->GetMaterial()->materialShininess = atof(shininessMaterial->GetValue().mb_str());
wxGetApp().GetFrame()->SetCanvasMode(0);
wxGetApp().GetFrame()->GetCanvas()->Update();
}
示例9: switch
void SGOglTextureEnvNBPage::OnChoiceTextureCombineOperandArg2(wxCommandEvent &event)
{
SGFixedGLState* glState = m_parent->GetGLState();
glState->SetTextureChanged(true);
Texture* texture = glState->GetTexture(textureBox->GetSelection());
switch(texCombineOperandArg2Choose->GetSelection()) {
case 0:
texture->textureCombineOperand2 = GL_SRC_COLOR;
break;
case 1:
texture->textureCombineOperand2 = GL_ONE_MINUS_SRC_COLOR;
break;
default:
break;
}
wxGetApp().GetFrame()->SetCanvasMode(0);
wxGetApp().GetFrame()->GetCanvas()->Update();
}
示例10: OnRadioTexApply
void SGOglTextureEnvNBPage::OnRadioTexApply(wxCommandEvent &event)
{
SGFixedGLState* glState = m_parent->GetGLState();
glState->SetTextureChanged(true);
Texture* texture = glState->GetTexture(textureBox->GetSelection());
if(event.GetId() == Id::TexApply)
{
switch(texApplyBox->GetSelection()) {
case 0:
texture->textureApplicationMethod = GL_REPLACE;
DisableCombine();
break;
case 1:
texture->textureApplicationMethod = GL_MODULATE;
DisableCombine();
break;
case 2:
texture->textureApplicationMethod = GL_DECAL;
DisableCombine();
break;
case 3:
texture->textureApplicationMethod = GL_BLEND;
DisableCombine();
break;
case 4:
texture->textureApplicationMethod = GL_ADD;
DisableCombine();
break;
case 5:
texture->textureApplicationMethod = GL_COMBINE;
EnableCombine();
break;
default:
texture->textureApplicationMethod = GL_MODULATE;
DisableCombine();
break;
}
}
wxGetApp().GetFrame()->SetCanvasMode(0);
wxGetApp().GetFrame()->GetCanvas()->Update();
}
示例11: OnRadioTexCoordGen
void SGOglTextureCoordNBPage::OnRadioTexCoordGen(wxCommandEvent& event)
{
SGFixedGLState* glState = m_parent->GetGLState();
int workingTextureCoords;
workingTextureCoords = texCoordUnitBox->GetSelection();
switch(coordGenBox->GetSelection()){
case TEXTURE_COORDINATE_OBJECT_LINEAR:
glState->GetTexture(workingTextureCoords)->textureCoordinateGeneration = GL_OBJECT_LINEAR;
break;
case TEXTURE_COORDINATE_EYE_LINEAR:
glState->GetTexture(workingTextureCoords)->textureCoordinateGeneration = GL_EYE_LINEAR;
break;
case TEXTURE_COORDINATE_SPHERE_MAP:
glState->GetTexture(workingTextureCoords)->textureCoordinateGeneration = GL_SPHERE_MAP;
break;
case TEXTURE_COORDINATE_REFLECTION_MAP:
glState->GetTexture(workingTextureCoords)->textureCoordinateGeneration = GL_REFLECTION_MAP;
break;
case TEXTURE_COORDINATE_NORMAL_MAP:
glState->GetTexture(workingTextureCoords)->textureCoordinateGeneration = GL_NORMAL_MAP;
break;
default:
break;
}
wxGetApp().GetFrame()->SetCanvasMode(0);
wxGetApp().GetFrame()->GetCanvas()->Update();
}
示例12: wxBoxSizer
SGOglTextureEnvNBPage::SGOglTextureEnvNBPage(SGOglNotebook* parent, wxWindowID id)
:wxPanel(parent,id)
{
m_parent = parent;
SGFixedGLState* glState = m_parent->GetGLState();
wxBoxSizer* texMainSizer = new wxBoxSizer(wxHORIZONTAL);
wxStaticBox* texBox = new wxStaticBox(this, wxID_ANY, wxT("Textures"), wxDefaultPosition, wxDefaultSize, ZERO_PIXEL_BORDER);
wxStaticBox* texPropertyBox = new wxStaticBox(this, wxID_ANY, wxT("Selected Texture Properties"), wxDefaultPosition, wxDefaultSize, ZERO_PIXEL_BORDER);
wxStaticBoxSizer* textureSizer = new wxStaticBoxSizer(texBox, wxVERTICAL);
wxStaticBoxSizer* selectedTexPropertiesSizer = new wxStaticBoxSizer(texPropertyBox, wxHORIZONTAL);
wxBoxSizer* texChooseTexEnvColorWithLabelSizer = new wxBoxSizer(wxVERTICAL);
wxStaticBox* texEnableDisableBox = new wxStaticBox(this, wxID_ANY, wxT("glEnable/glDisable (Select up to 5 Textures)"), wxDefaultPosition, wxDefaultSize, ZERO_PIXEL_BORDER);
wxStaticBoxSizer* texEnableDisableSizer = new wxStaticBoxSizer(texEnableDisableBox, wxHORIZONTAL);
wxBoxSizer* texCombineModeScaleBoxSizer = new wxBoxSizer(wxHORIZONTAL);
wxBoxSizer* texCombineArgLabelBoxSizer = new wxBoxSizer(wxVERTICAL);
wxBoxSizer* texCombineSourceBoxSizer = new wxBoxSizer(wxVERTICAL);
wxBoxSizer* texCombineOperandBoxSizer = new wxBoxSizer(wxVERTICAL);
wxBoxSizer* texCombineOperandSourceBoxSizer = new wxBoxSizer(wxHORIZONTAL);
wxStaticBox* texCombineStaticBox = new wxStaticBox(this, wxID_ANY, wxT("GL_COMBINE Parameters"), wxDefaultPosition, wxDefaultSize, FIFTY_PIXEL_BORDER);
wxStaticBoxSizer* texCombineStaticBoxSizer= new wxStaticBoxSizer(texCombineStaticBox, wxVERTICAL);
wxString texNumArray[5];
texNumArray[0] = wxT("T0");
texNumArray[1] = wxT("T1");
texNumArray[2] = wxT("T2");
texNumArray[3] = wxT("T3");
texNumArray[4] = wxT("T4");
textureBox = new wxRadioBox(this, Id::TextureNum, wxT("Selected Texture Unit"), wxDefaultPosition, wxDefaultSize, 5, texNumArray, 1,wxRA_SPECIFY_ROWS, wxDefaultValidator);
wxString texChooseArray[Id::NumTextures];
texChooseArray[0] = wxT("3Dlabs");
texChooseArray[1] = wxT("3Dlabs Normal");
texChooseArray[2] = wxT("Rust");
texChooseArray[3] = wxT("Leopard");
texChooseArray[4] = wxT("Eyeball");
texChooseArray[5] = wxT("CobbleStone");
texChooseArray[6] = wxT("CobbleStone Normal");
texChooseArray[7] = wxT("Bricks");
texChooseArray[8] = wxT("Bricks Normal");
texChooseArray[9] = wxT("Stone Wall");
texChooseArray[10] = wxT("Stone Wall Normal");
texChooseArray[11] = wxT("Metal Sheet");
texChooseArray[12] = wxT("Metal Sheet Normal");
texChoose = new wxChoice(this, Id::TextureChoose, wxDefaultPosition, wxDefaultSize, Id::NumTextures, texChooseArray, 0, wxDefaultValidator);
texEnvColorButton = new wxButton(this, Id::TexEnvColor, wxT(""), wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER, wxDefaultValidator, wxT("TexEnvColor"));
texEnvColorButton->SetBackgroundColour(ToWxIntColor(glState->GetTexture(textureBox->GetSelection())->texEnvColor));
wxStaticText *texEnvButtonLabel = new wxStaticText(this, wxID_ANY, wxT("GL_TEX_ENV_COLOR"), wxDefaultPosition, wxDefaultSize, wxALIGN_TOP);
tex0CheckBox = new wxCheckBox(this, Id::Tex0EnableVal, wxT("T0"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
tex0CheckBox->SetValue(glState->GetTexture(0)->textureEnabled);
tex1CheckBox = new wxCheckBox(this, Id::Tex1EnableVal, wxT("T1"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
tex1CheckBox->SetValue(glState->GetTexture(1)->textureEnabled);
tex2CheckBox = new wxCheckBox(this, Id::Tex2EnableVal, wxT("T2"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
tex2CheckBox->SetValue(glState->GetTexture(2)->textureEnabled);
tex3CheckBox = new wxCheckBox(this, Id::Tex3EnableVal, wxT("T3"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
tex3CheckBox->SetValue(glState->GetTexture(3)->textureEnabled);
tex4CheckBox = new wxCheckBox(this, Id::Tex4EnableVal, wxT("T4"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
tex4CheckBox->SetValue(glState->GetTexture(4)->textureEnabled);
texEnableDisableSizer->Add(tex0CheckBox, 0, wxALL | wxADJUST_MINSIZE, SEVEN_PIXEL_BORDER);
texEnableDisableSizer->Add(tex1CheckBox, 0, wxALL | wxADJUST_MINSIZE, SEVEN_PIXEL_BORDER);
texEnableDisableSizer->Add(tex2CheckBox, 0, wxALL | wxADJUST_MINSIZE, SEVEN_PIXEL_BORDER);
texEnableDisableSizer->Add(tex3CheckBox, 0, wxALL | wxADJUST_MINSIZE, SEVEN_PIXEL_BORDER);
texEnableDisableSizer->Add(tex4CheckBox, 0, wxALL | wxADJUST_MINSIZE, SEVEN_PIXEL_BORDER);
wxString texApplyArray[6];
texApplyArray[0] = wxT("GL_REPLACE");
texApplyArray[1] = wxT("GL_MODULATE");
texApplyArray[2] = wxT("GL_DECAL");
texApplyArray[3] = wxT("GL_BLEND");
texApplyArray[4] = wxT("GL_ADD");
texApplyArray[5] = wxT("GL_COMBINE");
texApplyBox = new wxRadioBox(this, Id::TexApply, wxT("Texture Application Method (Fragment Shader)"), wxDefaultPosition, wxDefaultSize, 6, texApplyArray, 1,wxRA_SPECIFY_COLS, wxDefaultValidator);
wxString texCombineModeArray[7];
texCombineModeArray[0] = wxT("GL_REPLACE");
texCombineModeArray[1] = wxT("GL_MODULATE");
texCombineModeArray[2] = wxT("GL_ADD");
texCombineModeArray[3] = wxT("GL_ADD_SIGNED");
texCombineModeArray[4] = wxT("GL_INTERPOLATE");
texCombineModeArray[5] = wxT("GL_SUBTRACT");
texCombineModeArray[6] = wxT("GL_DOT3_RGB");
texCombineModeChoose = new wxChoice(this, Id::TextureCombineMode, wxDefaultPosition, wxDefaultSize, 7, texCombineModeArray, 0, wxDefaultValidator);
//.........这里部分代码省略.........