コード例 #1
0
void CompositeProcessorGL::compositePortsToOutport(ImageOutport& outport, ImageType type, ImageInport& inport) {
    if (inport.isReady() && outport.hasData()) {        
        utilgl::activateTarget(outport, type);
        shader_.activate();

        TextureUnitContainer units;
        utilgl::bindAndSetUniforms(shader_, units, *inport.getData(),  "tex0", ImageType::ColorDepthPicking);
        utilgl::bindAndSetUniforms(shader_, units, *outport.getData(), "tex1", ImageType::ColorDepthPicking);
        utilgl::setShaderUniforms(shader_, outport, "outportParameters");
        utilgl::singleDrawImagePlaneRect();

        shader_.deactivate();
        utilgl::deactivateCurrentTarget();
    }
}
コード例 #2
0
ファイル: textureutils.cpp プロジェクト: sarbi127/inviwo
void bindAndSetUniforms(Shader& shader, TextureUnitContainer& cont, ImageOutport& port,
                        ImageType type) {
    bindAndSetUniforms(shader, cont, *port.getData(), port.getIdentifier(), type);
}
コード例 #3
0
ファイル: textureutils.cpp プロジェクト: sarbi127/inviwo
void setShaderUniforms(Shader& shader, const ImageOutport& outport, const std::string samplerID) {
    setShaderUniforms(shader, *outport.getData(),
                      samplerID.empty() ? outport.getIdentifier() + "Parameters" : samplerID);
}
コード例 #4
0
ファイル: textureutils.cpp プロジェクト: sarbi127/inviwo
void unbindTextures(const ImageOutport& outport) {
    unbindTextures(*outport.getData(), true, true, true);
}
コード例 #5
0
ファイル: textureutils.cpp プロジェクト: sarbi127/inviwo
void unbindPickingTexture(const ImageOutport& outport) {
    unbindTextures(*outport.getData(), false, false, true);
}
コード例 #6
0
ファイル: textureutils.cpp プロジェクト: sarbi127/inviwo
void unbindDepthTexture(const ImageOutport& outport) {
    unbindTextures(*outport.getData(), false, true, false);
}
コード例 #7
0
ファイル: textureutils.cpp プロジェクト: sarbi127/inviwo
void bindTextures(const ImageOutport& outport, const TextureUnit& colorTexUnit,
                  const TextureUnit& depthTexUnit, const TextureUnit& pickingTexUnit) {
    bindTextures(*outport.getData(), true, true, true, colorTexUnit.getEnum(),
                 depthTexUnit.getEnum(), pickingTexUnit.getEnum());
}
コード例 #8
0
ファイル: textureutils.cpp プロジェクト: sarbi127/inviwo
void bindPickingTexture(const ImageOutport& outport, const TextureUnit& texUnit) {
    bindTextures(*outport.getData(), false, false, true, 0, 0, texUnit.getEnum());
}
コード例 #9
0
ファイル: textureutils.cpp プロジェクト: sarbi127/inviwo
void bindColorTexture(const ImageOutport& outport, const TextureUnit& texUnit) {
    bindTextures(*outport.getData(), true, false, false, texUnit.getEnum(), 0, 0);
}
コード例 #10
0
ファイル: textureutils.cpp プロジェクト: sarbi127/inviwo
void bindTextures(const ImageOutport& outport, GLenum colorTexUnit, GLenum depthTexUnit,
                  GLenum pickingTexUnit) {
    bindTextures(*outport.getData(), true, true, true, colorTexUnit, depthTexUnit,
                 pickingTexUnit);
}
コード例 #11
0
ファイル: textureutils.cpp プロジェクト: sarbi127/inviwo
void bindPickingTexture(const ImageOutport& outport, GLenum texUnit) {
    bindTextures(*outport.getData(), false, false, true, 0, 0, texUnit);
}
コード例 #12
0
ファイル: textureutils.cpp プロジェクト: sarbi127/inviwo
void bindDepthTexture(const ImageOutport& outport, GLenum texUnit) {
    bindTextures(*outport.getData(), false, true, false, 0, texUnit, 0);
}