当前位置: 首页>>代码示例>>Java>>正文


Java Shader.getSources方法代码示例

本文整理汇总了Java中com.jme3.shader.Shader.getSources方法的典型用法代码示例。如果您正苦于以下问题:Java Shader.getSources方法的具体用法?Java Shader.getSources怎么用?Java Shader.getSources使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.jme3.shader.Shader的用法示例。


在下文中一共展示了Shader.getSources方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: deleteShader

import com.jme3.shader.Shader; //导入方法依赖的package包/类
public void deleteShader(Shader shader) {
        if (shader.getId() == -1) {
            logger.warning("Shader is not uploaded to GPU, cannot delete.");
            return;
        }
        for (ShaderSource source : shader.getSources()) {
            if (source.getId() != -1) {
                glDetachShader(shader.getId(), source.getId());
                // the next part is done by the GLObjectManager automatically
//                glDeleteShader(source.getId());
            }
        }
        // kill all references so sources can be collected
        // if needed.
        shader.resetSources();
        glDeleteProgram(shader.getId());

        statistics.onDeleteShader();
    }
 
开发者ID:mleoking,项目名称:PhET,代码行数:20,代码来源:LwjglRenderer.java

示例2: deleteShader

import com.jme3.shader.Shader; //导入方法依赖的package包/类
public void deleteShader(Shader shader) {
    if (glslVer != -1) {
        if (shader.getId() == -1) {
            logger.warning("Shader is not uploaded to GPU, cannot delete.");
            return;
        }
        GL gl = GLContext.getCurrentGL();
        for (ShaderSource source : shader.getSources()) {
            if (source.getId() != -1) {
                gl.getGL2().glDetachShader(shader.getId(), source.getId());
                // the next part is done by the GLObjectManager automatically
                // glDeleteShader(source.getId());
            }
        }
        // kill all references so sources can be collected
        // if needed.
        shader.resetSources();
        gl.getGL2().glDeleteProgram(shader.getId());

        statistics.onDeleteShader();
    }
}
 
开发者ID:chototsu,项目名称:MikuMikuStudio,代码行数:23,代码来源:JoglRenderer.java

示例3: deleteShader

import com.jme3.shader.Shader; //导入方法依赖的package包/类
public void deleteShader(Shader shader) {
    if (shader.getId() == -1) {
        logger.warning("Shader is not uploaded to GPU, cannot delete.");
        return;
    }

    for (ShaderSource source : shader.getSources()) {
        if (source.getId() != -1) {
            glDetachShader(shader.getId(), source.getId());
            deleteShaderSource(source);
        }
    }

    // kill all references so sources can be collected
    // if needed.
    shader.resetSources();
    glDeleteProgram(shader.getId());

    statistics.onDeleteShader();
}
 
开发者ID:chototsu,项目名称:MikuMikuStudio,代码行数:21,代码来源:LwjglRenderer.java

示例4: getShaderCode

import com.jme3.shader.Shader; //导入方法依赖的package包/类
public String getShaderCode(String version, Shader.ShaderType type) {
    try {
        material.selectTechnique(currentTechnique.getName(), SceneApplication.getApplication().getRenderManager());
        Shader s;
        StringBuilder sb = new StringBuilder();
        TechniqueDef def = material.getActiveTechnique().getDef();
        sb.append(def.getShaderPrologue());
        material.getActiveTechnique().getDynamicDefines().generateSource(sb, Arrays.asList(def.getDefineNames()), Arrays.asList(def.getDefineTypes()));
        
        if (version.equals(GLSL100)) {
            glsl100.initialize(material.getActiveTechnique().getDef());
            s = glsl100.generateShader(sb.toString());
        } else {
            glsl150.initialize(material.getActiveTechnique().getDef());
            s = glsl150.generateShader(sb.toString());
        }
        for (Shader.ShaderSource source : s.getSources()) {
            if (source.getType() == type) {
                return source.getSource();
            }
        }
        return "";
    } catch (Exception e) {
        Exceptions.printStackTrace(e);
        return "Error generating shader: " + e.getMessage();
    }
}
 
开发者ID:jMonkeyEngine,项目名称:sdk,代码行数:28,代码来源:EditableMatDefFile.java

示例5: deleteShader

import com.jme3.shader.Shader; //导入方法依赖的package包/类
public void deleteShader(Shader shader) {
        if (shader.getId() == -1) {
            logger.warning("Shader is not uploaded to GPU, cannot delete.");
            return;
        }
        for (ShaderSource source : shader.getSources()) {
            if (source.getId() != -1) {

                if (verboseLogging) {
                    logger.info("GLES20.glDetachShader(" + shader.getId() + ", " + source.getId() + ")");
                }

                Gdx.gl20.glDetachShader(shader.getId(), source.getId());
                // the next part is done by the GLObjectManager automatically
//                glDeleteShader(source.getId());
            }
        }
        // kill all references so sources can be collected
        // if needed.
        shader.resetSources();

        if (verboseLogging) {
            logger.info("GLES20.glDeleteProgram(" + shader.getId() + ")");
        }

        Gdx.gl20.glDeleteProgram(shader.getId());

        statistics.onDeleteShader();
    }
 
开发者ID:chototsu,项目名称:MikuMikuStudio,代码行数:30,代码来源:GdxRenderer.java

示例6: deleteShader

import com.jme3.shader.Shader; //导入方法依赖的package包/类
public void deleteShader(Shader shader) {
        if (shader.getId() == -1) {
            logger.warning("Shader is not uploaded to GPU, cannot delete.");
            return;
        }
        for (ShaderSource source : shader.getSources()) {
            if (source.getId() != -1) {

                if (verboseLogging) {
                    logger.info("GLES20.glDetachShader(" + shader.getId() + ", " + source.getId() + ")");
                }

                GLES20.glDetachShader(shader.getId(), source.getId());
                // the next part is done by the GLObjectManager automatically
//                glDeleteShader(source.getId());
            }
        }
        // kill all references so sources can be collected
        // if needed.
        shader.resetSources();

        if (verboseLogging) {
            logger.info("GLES20.glDeleteProgram(" + shader.getId() + ")");
        }

        GLES20.glDeleteProgram(shader.getId());

        statistics.onDeleteShader();
    }
 
开发者ID:chototsu,项目名称:MikuMikuStudio,代码行数:30,代码来源:OGLESShaderRenderer.java


注:本文中的com.jme3.shader.Shader.getSources方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。