I would like to ask how can I pass two textures: one is a noise map of 128 X 128, another one is a 1 X 256 gradient map, into the shader by using services->setPixelShaderConstant(...)?
indeed, I have the following in my program:
Code: Select all
scene::IAnimatedMeshSceneNode* test = smgr->addAnimatedMeshSceneNode(mesh_water, 0, 700);
test->setPosition(core::vector3df(10,10,10));
test->setMaterialTexture(1, driver->getTexture("./resource/Shader/Flame.tga"));
test->setMaterialTexture(2, driver->getTexture("./resource/Shader/NoiseVolume.jpg"));
test->setMaterialFlag(video::EMF_LIGHTING, false);
CShaderCallBack* mc = new CShaderCallBack(this->device);
s32 newMaterialType1 = this->gpu->addHighLevelShaderMaterialFromFiles(
vsFileName, "vertexMain", video::EVST_VS_3_0,
psFileName, "pixelMain", video::EPST_PS_3_0,
mc, video::EMT_SOLID);
mc->drop();