void ATI_FS_GLGpuProgram::bindProgramPassIterationParameters(GpuProgramParametersSharedPtr params) { if (params->hasPassIterationNumber()) { size_t physicalIndex = params->getPassIterationNumberIndex(); size_t logicalIndex = params->getFloatLogicalIndexForPhysicalIndex(physicalIndex); const float* pFloat = params->getFloatPointer(physicalIndex); glSetFragmentShaderConstantATI( GL_CON_0_ATI + (GLuint)logicalIndex, pFloat); } }
void GLArbGpuProgram::bindProgramPassIterationParameters(GpuProgramParametersSharedPtr params) { if (params->hasPassIterationNumber()) { GLenum type = getGLShaderType(mType); size_t physicalIndex = params->getPassIterationNumberIndex(); size_t logicalIndex = params->getFloatLogicalIndexForPhysicalIndex(physicalIndex); const float* pFloat = params->getFloatPointer(physicalIndex); glProgramLocalParameter4fvARB(type, (GLuint)logicalIndex, pFloat); } }
void GLArbGpuProgram::bindProgramPassIterationParameters(GpuProgramParametersSharedPtr params) { if (params->hasPassIterationNumber()) { GLenum type = (mType == GPT_VERTEX_PROGRAM) ? GL_VERTEX_PROGRAM_ARB : GL_FRAGMENT_PROGRAM_ARB; size_t physicalIndex = params->getPassIterationNumberIndex(); size_t logicalIndex = params->getFloatLogicalIndexForPhysicalIndex(physicalIndex); const float* pFloat = params->getFloatPointer(physicalIndex); glProgramLocalParameter4fvARB(type, (GLuint)logicalIndex, pFloat); } }