void Sprite3DMaterial::setTexture(Texture2D* tex, NTextureData::Usage usage) { const auto& passes = getTechnique()->getPasses(); for (auto& pass : passes) { pass->getGLProgramState()->setUniformTexture(s_uniformSamplerName[(int)usage], tex); } }
void Material::setTechnique(const char* id) { Technique* t = getTechnique(id); if (t) { _currentTechnique = t; } }
void Material::setTechnique(unsigned int index) { Technique* t = getTechnique(index); if (t) { _currentTechnique = t; } }
//----------------------------------------------------------------------- void ParticleSystem::stopFade(void) { size_t i; size_t j; size_t numTechniques = getNumTechniques(); size_t numEmitters; ParticleTechnique* technique; ParticleEmitter* emitter; for (i = 0; i < numTechniques; ++i) { technique = getTechnique(i); numEmitters = getTechnique(i)->getNumEmitters(); for (j = 0; j < numEmitters; ++j) { emitter = technique->getEmitter(j); emitter->setEnabled(false); } } mStopFadeSet = true; }
void WorkspacePanel::OnSelectionChanged(wxTreeEvent& event) { SelectionList list; wxTreeItemId id = event.GetItem(); if(isProject(id)) list.push_back(getProject(id)); else if(isMaterial(id)) list.push_back(getMaterial(id)); else if(isTechnique(id)) list.push_back(getTechnique(id)); else if(isPass(id)) list.push_back(getPass(id)); // else its the workspace so just leave the list empty as if nothing were selected SelectionService::getSingletonPtr()->setSelection(list); }
void WorkspacePanel::OnNewPass(wxCommandEvent& event) { Project* project = NULL; MaterialController* material = NULL; TechniqueController* technique = NULL; wxTreeItemId selId = mTreeCtrl->GetSelection(); if(isProject(selId)) { project = getProject(selId); } else if(isMaterial(selId)) { wxTreeItemId projectId = mTreeCtrl->GetItemParent(selId); project = getProject(projectId); material = getMaterial(selId); } else if(isTechnique(selId)) { wxTreeItemId materialId = mTreeCtrl->GetItemParent(selId); material = getMaterial(materialId); wxTreeItemId projectId = mTreeCtrl->GetItemParent(materialId); project = getProject(projectId); technique = getTechnique(selId); } PassWizard* wizard = new PassWizard(); wizard->Create(this, wxID_ANY, wxT("New Pass"), wxNullBitmap, wxDefaultPosition, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER); wizard->getPassPage()->setProject(project); wizard->getPassPage()->setMaterial(material); wizard->getPassPage()->setTechnique(technique); wizard->RunWizard(wizard->getPassPage()); wizard->Destroy(); delete wizard; }
void SaAoRenderer::reloadShaders() { if (geometryPassShader) delete geometryPassShader; if (processingPassShader) delete processingPassShader; if (filteringPassShader) delete filteringPassShader; /* geometryPassShader = new SaAoGeometryPassShader(); processingPassShader = new SaAoProcessingPassShader(shadersCompileConstants); filteringPassShader = new SaAoFilteringPassShader(); */ initShaderPrograms(); VSGLInfoLib::getUniformsInfo(processingPassShader->getId()); screenSpaceRayOrigin = glm::vec2(0,0); screenSpaceEmisphereCenter = glm::vec2(0,0); setTextureMapping(isTextureMappingEnabled()); setNormalMapping(isNormalMappingEnabled()); setSpecularMapping(isSpecularMappingEnabled()); setOpacityMapping(isOpacityMappingEnabled()); setShowingGBuffer(isShowingGBuffer()); /* setShowingArea(isShowingArea()); setShowingSampling(isShowingSampling()); setShowingSamplingDensity(isShowingSamplingDensity()); setShowingZoomedArea(isShowingZoomedArea()); */ setAoSamplingRadius(getAoSamplingRadius()); setAoAngleBias(getAoAngleBias()); setAoMaxDistance(getAoMaxDistance()); setAoNumSamples(getAoNumSamples()); setSamplingPatternId(getSamplingPatternId()); setAoMultiplier(getAoMultiplier()); setAreaMultiplier(getAreaMultiplier()); setSolidAngleMultiplier(getSolidAngleMultiplier()); setHemisphereSamplingMode(getHemisphereSamplingMode()); setAlbedoEnabled(isAlbedoEnabled()); setAoEnabled(isAoEnabled()); setAmbientEnabled(isAmbientEnabled()); setDirectEnabled(isDirectEnabled()); setAoComputationId(getAoComputationId()); setAreaComputationId(getAreaComputationId()); setBlurEnabled(isBlurEnabled()); setBlurKdepth(getBlurKdepth()); setBlurKnormal(getBlurKnormal()); setBlurKernelSize(getBlurKernelSize()); setAlchemyK(getAlchemyK()); setAlchemyRO(getAlchemyRO()); setAlchemyU(getAlchemyU()); setTechnique(getTechnique()); reshape(winW, winH); }
//----------------------------------------------------------------------- void ParticleSystem::destroyTechnique (size_t index) { destroyTechnique(getTechnique(index)); }
bool WorkspacePanel::isTechnique(wxTreeItemId id) { return getTechnique(id) != NULL; }