///Конструктор Impl () { size_t screens_count = ScreenManager::ScreensCount (); outputs.reserve (screens_count); for (size_t i=0; i<screens_count; i++) outputs.push_back (OutputPtr (new Output (ScreenManager::Screen (i)), false)); instance = this; }
//---------------------------------------------------------------------------- bool FxCompiler::GetOutput (const TokenArray& tokens, const std::string& name, Shader::VariableType type, OutputArray& outputs) { std::string::size_type begin = 6; // skip over "$vout." std::string semanticName = tokens[4].substr(begin, std::string::npos); SemanticMap::iterator siter = mSemantics.find(semanticName); if (siter == mSemantics.end()) { ReportError("Invalid $vout classifier", &tokens); return false; } Output output; output.Name = name; output.Type = type; output.Semantic = siter->second; outputs.push_back(output); return true; }