initwinsound(void) { PyObject *module=Py_InitModule3("winsound", sound_methods, sound_module_doc); PyObject *dict=PyModule_GetDict(module); ADD_DEFINE(SND_ASYNC); ADD_DEFINE(SND_NODEFAULT); ADD_DEFINE(SND_NOSTOP); ADD_DEFINE(SND_NOWAIT); ADD_DEFINE(SND_ALIAS); ADD_DEFINE(SND_FILENAME); ADD_DEFINE(SND_MEMORY); ADD_DEFINE(SND_PURGE); ADD_DEFINE(SND_LOOP); ADD_DEFINE(SND_APPLICATION); }
bool setUpStateSet(osg::ArgumentParser& arguments, osg::StateSet* stateset) { osg::ref_ptr<osg::Program> program = new osg::Program; if (!readShaderArguments(arguments, "--vert", program.get(), "shaders/shaderpipeline.vert")) { return false; } if (!readShaderArguments(arguments, "--frag", program.get(), "shaders/shaderpipeline.frag")) { return false; } unsigned int maxTextureUnits = 1; while(arguments.read("--units", maxTextureUnits)) {} stateset->setAttribute(program); std::stringstream sstream; sstream<<maxTextureUnits; stateset->setDefine("GL_MAX_TEXTURE_UNITS", sstream.str()); #define ADD_DEFINE(DEF) \ sstream.str(""); \ sstream<<DEF; \ stateset->setDefine(#DEF, sstream.str()); if (maxTextureUnits>0) { osg::ref_ptr<osg::Texture2D> fallbackTexture = new osg::Texture2D(createFallbackImage()); fallbackTexture->setWrap(osg::Texture2D::WRAP_S, osg::Texture2D::CLAMP_TO_EDGE); fallbackTexture->setWrap(osg::Texture2D::WRAP_T, osg::Texture2D::CLAMP_TO_EDGE); fallbackTexture->setWrap(osg::Texture2D::WRAP_R, osg::Texture2D::CLAMP_TO_EDGE); fallbackTexture->setFilter(osg::Texture2D::MIN_FILTER, osg::Texture2D::LINEAR); fallbackTexture->setFilter(osg::Texture2D::MAG_FILTER, osg::Texture2D::LINEAR); for(unsigned int i=0; i<maxTextureUnits;++i) { stateset->setTextureAttribute(i, fallbackTexture.get()); } ADD_DEFINE(GL_ALPHA); ADD_DEFINE(GL_INTENSITY); ADD_DEFINE(GL_LUMINANCE); ADD_DEFINE(GL_RED); ADD_DEFINE(GL_RG); ADD_DEFINE(GL_RGB); ADD_DEFINE(GL_RGBA); } osgDB::writeObjectFile(*stateset, "stateset.osgt"); return true; }
PyMODINIT_FUNC PyInit_winsound(void) { PyObject *dict; PyObject *module = PyModule_Create(&winsoundmodule); if (module == NULL) return NULL; dict = PyModule_GetDict(module); ADD_DEFINE(SND_ASYNC); ADD_DEFINE(SND_NODEFAULT); ADD_DEFINE(SND_NOSTOP); ADD_DEFINE(SND_NOWAIT); ADD_DEFINE(SND_ALIAS); ADD_DEFINE(SND_FILENAME); ADD_DEFINE(SND_MEMORY); ADD_DEFINE(SND_PURGE); ADD_DEFINE(SND_LOOP); ADD_DEFINE(SND_APPLICATION); ADD_DEFINE(MB_OK); ADD_DEFINE(MB_ICONASTERISK); ADD_DEFINE(MB_ICONEXCLAMATION); ADD_DEFINE(MB_ICONHAND); ADD_DEFINE(MB_ICONQUESTION); return module; }
PyMODINIT_FUNC initwinsound(void) { PyObject *dict; PyObject *module = Py_InitModule3("winsound", sound_methods, sound_module_doc); if (module == NULL) return; dict = PyModule_GetDict(module); ADD_DEFINE(SND_ASYNC); ADD_DEFINE(SND_NODEFAULT); ADD_DEFINE(SND_NOSTOP); ADD_DEFINE(SND_NOWAIT); ADD_DEFINE(SND_ALIAS); ADD_DEFINE(SND_FILENAME); ADD_DEFINE(SND_MEMORY); ADD_DEFINE(SND_PURGE); ADD_DEFINE(SND_LOOP); ADD_DEFINE(SND_APPLICATION); ADD_DEFINE(MB_OK); ADD_DEFINE(MB_ICONASTERISK); ADD_DEFINE(MB_ICONEXCLAMATION); ADD_DEFINE(MB_ICONHAND); ADD_DEFINE(MB_ICONQUESTION); }