Search in sources :

Example 41 with com.jme3.opencl

use of com.jme3.opencl in project jmonkeyengine by jMonkeyEngine.

the class TestVertexBufferSharing method initOpenCL2.

private void initOpenCL2() {
    //bind vertex buffer to OpenCL
    VertexBuffer vb = geom.getMesh().getBuffer(VertexBuffer.Type.Position);
    buffer = clContext.bindVertexBuffer(vb, MemoryAccess.READ_WRITE).register();
    ws = new com.jme3.opencl.Kernel.WorkSize(geom.getMesh().getVertexCount());
}
Also used : VertexBuffer(com.jme3.scene.VertexBuffer)

Example 42 with com.jme3.opencl

use of com.jme3.opencl in project jmonkeyengine by jMonkeyEngine.

the class TestWriteToTexture method simpleInitApp.

@Override
public void simpleInitApp() {
    initOpenCL1();
    tex = new Texture2D(settings.getWidth(), settings.getHeight(), 1, com.jme3.texture.Image.Format.RGBA8);
    Picture pic = new Picture("julia");
    pic.setTexture(assetManager, tex, true);
    pic.setPosition(0, 0);
    pic.setWidth(settings.getWidth());
    pic.setHeight(settings.getHeight());
    guiNode.attachChild(pic);
    initCounter = 0;
    flyCam.setEnabled(false);
    inputManager.setCursorVisible(true);
    inputManager.addMapping("right", new MouseAxisTrigger(MouseInput.AXIS_X, false));
    inputManager.addMapping("left", new MouseAxisTrigger(MouseInput.AXIS_X, true));
    inputManager.addMapping("up", new MouseAxisTrigger(MouseInput.AXIS_Y, false));
    inputManager.addMapping("down", new MouseAxisTrigger(MouseInput.AXIS_Y, true));
    inputManager.addMapping("drag", new MouseButtonTrigger(MouseInput.BUTTON_LEFT));
    inputManager.addListener(this, "right", "left", "up", "down", "drag");
    dragging = false;
}
Also used : Texture2D(com.jme3.texture.Texture2D) Picture(com.jme3.ui.Picture) MouseAxisTrigger(com.jme3.input.controls.MouseAxisTrigger) MouseButtonTrigger(com.jme3.input.controls.MouseButtonTrigger)

Example 43 with com.jme3.opencl

use of com.jme3.opencl in project jmonkeyengine by jMonkeyEngine.

the class TestShaderNodes method simpleInitApp.

@Override
public void simpleInitApp() {
    flyCam.setMoveSpeed(20);
    Logger.getLogger("com.jme3").setLevel(Level.WARNING);
    Box boxshape1 = new Box(1f, 1f, 1f);
    Geometry cube_tex = new Geometry("A Textured Box", boxshape1);
    Texture tex = assetManager.loadTexture("Interface/Logo/Monkey.jpg");
    Material mat = new Material(assetManager, "Common/MatDefs/Misc/UnshadedNodes.j3md");
    mat.selectTechnique(TechniqueDef.DEFAULT_TECHNIQUE_NAME, renderManager);
    Technique t = mat.getActiveTechnique();
    //        for (Shader.ShaderSource shaderSource : t.getShader().getSources()) {
    //            System.out.println(shaderSource.getSource());
    //        }
    mat.setColor("Color", ColorRGBA.Yellow);
    mat.setTexture("ColorMap", tex);
    cube_tex.setMaterial(mat);
    rootNode.attachChild(cube_tex);
}
Also used : Geometry(com.jme3.scene.Geometry) Box(com.jme3.scene.shape.Box) Material(com.jme3.material.Material) Technique(com.jme3.material.Technique) Texture(com.jme3.texture.Texture)

Example 44 with com.jme3.opencl

use of com.jme3.opencl in project jmonkeyengine by jMonkeyEngine.

the class TestShaderNodesStress method simpleInitApp.

@Override
public void simpleInitApp() {
    Quad q = new Quad(1, 1);
    Geometry g = new Geometry("quad", q);
    g.setLocalTranslation(-500, -500, 0);
    g.setLocalScale(1000);
    rootNode.attachChild(g);
    cam.setLocation(new Vector3f(0.0f, 0.0f, 0.40647888f));
    cam.setRotation(new Quaternion(0.0f, 1.0f, 0.0f, 0.0f));
    Texture tex = assetManager.loadTexture("Interface/Logo/Monkey.jpg");
    Material mat = new Material(assetManager, "Common/MatDefs/Misc/UnshadedNodes.j3md");
    //Material mat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md");
    mat.setColor("Color", ColorRGBA.Yellow);
    mat.setTexture("ColorMap", tex);
    g.setMaterial(mat);
    //place the geoms in the transparent bucket so that they are rendered back to front for maximum overdraw
    g.setQueueBucket(RenderQueue.Bucket.Transparent);
    for (int i = 0; i < 1000; i++) {
        Geometry cl = g.clone(false);
        cl.move(0, 0, -(i + 1));
        rootNode.attachChild(cl);
    }
    flyCam.setMoveSpeed(20);
    Logger.getLogger("com.jme3").setLevel(Level.WARNING);
    this.setAppProfiler(new Profiler());
}
Also used : Geometry(com.jme3.scene.Geometry) Quad(com.jme3.scene.shape.Quad) Quaternion(com.jme3.math.Quaternion) Vector3f(com.jme3.math.Vector3f) Material(com.jme3.material.Material) Texture(com.jme3.texture.Texture)

Example 45 with com.jme3.opencl

use of com.jme3.opencl in project jmonkeyengine by jMonkeyEngine.

the class JoglContext method initContextFirstTime.

protected void initContextFirstTime() {
    if (GLContext.getCurrent().getGLVersionNumber().getMajor() < 2) {
        throw new RendererException("OpenGL 2.0 or higher is " + "required for jMonkeyEngine");
    }
    if (settings.getRenderer().startsWith("JOGL")) {
        com.jme3.renderer.opengl.GL gl = new JoglGL();
        GLExt glext = new JoglGLExt();
        GLFbo glfbo = new JoglGLFbo();
        if (settings.getBoolean("GraphicsDebug")) {
            gl = new GLDebugDesktop(gl, glext, glfbo);
            glext = (GLExt) gl;
            glfbo = (GLFbo) gl;
        }
        if (settings.getBoolean("GraphicsTiming")) {
            GLTimingState timingState = new GLTimingState();
            gl = (com.jme3.renderer.opengl.GL) GLTiming.createGLTiming(gl, timingState, GL.class, GL2.class, GL3.class, GL4.class);
            glext = (GLExt) GLTiming.createGLTiming(glext, timingState, GLExt.class);
            glfbo = (GLFbo) GLTiming.createGLTiming(glfbo, timingState, GLFbo.class);
        }
        if (settings.getBoolean("GraphicsTrace")) {
            gl = (com.jme3.renderer.opengl.GL) GLTracer.createDesktopGlTracer(gl, GL.class, GL2.class, GL3.class, GL4.class);
            glext = (GLExt) GLTracer.createDesktopGlTracer(glext, GLExt.class);
            glfbo = (GLFbo) GLTracer.createDesktopGlTracer(glfbo, GLFbo.class);
        }
        renderer = new GLRenderer(gl, glext, glfbo);
        renderer.initialize();
    } else {
        throw new UnsupportedOperationException("Unsupported renderer: " + settings.getRenderer());
    }
    if (GLContext.getCurrentGL().isExtensionAvailable("GL_ARB_debug_output") && settings.getBoolean("GraphicsDebug")) {
        GLContext.getCurrent().enableGLDebugMessage(true);
        GLContext.getCurrent().addGLDebugListener(new JoglGLDebugOutputHandler());
    }
    renderer.setMainFrameBufferSrgb(settings.isGammaCorrection());
    renderer.setLinearizeSrgbImages(settings.isGammaCorrection());
    // Init input
    if (keyInput != null) {
        keyInput.initialize();
    }
    if (mouseInput != null) {
        mouseInput.initialize();
    }
    if (joyInput != null) {
        joyInput.initialize();
    }
    if (settings.isOpenCLSupport()) {
        initOpenCL();
    }
}
Also used : JoglGLFbo(com.jme3.renderer.jogl.JoglGLFbo) GLFbo(com.jme3.renderer.opengl.GLFbo) GLRenderer(com.jme3.renderer.opengl.GLRenderer) JoglGLFbo(com.jme3.renderer.jogl.JoglGLFbo) GLExt(com.jme3.renderer.opengl.GLExt) JoglGLExt(com.jme3.renderer.jogl.JoglGLExt) JoglGLExt(com.jme3.renderer.jogl.JoglGLExt) RendererException(com.jme3.renderer.RendererException) GLDebugDesktop(com.jme3.renderer.opengl.GLDebugDesktop) GLTimingState(com.jme3.renderer.opengl.GLTimingState) JoglGL(com.jme3.renderer.jogl.JoglGL)

Aggregations

ByteBuffer (java.nio.ByteBuffer)8 Vector3f (com.jme3.math.Vector3f)7 ColorRGBA (com.jme3.math.ColorRGBA)6 Material (com.jme3.material.Material)5 com.jme3.opencl (com.jme3.opencl)5 Geometry (com.jme3.scene.Geometry)5 BitmapText (com.jme3.font.BitmapText)4 RendererException (com.jme3.renderer.RendererException)4 Texture (com.jme3.texture.Texture)4 ArrayList (java.util.ArrayList)4 BitmapFont (com.jme3.font.BitmapFont)3 Matrix4f (com.jme3.math.Matrix4f)3 DefaultPlatformChooser (com.jme3.opencl.DefaultPlatformChooser)3 Device (com.jme3.opencl.Device)3 PlatformChooser (com.jme3.opencl.PlatformChooser)3 AppSettings (com.jme3.system.AppSettings)3 Image (com.jme3.texture.Image)3 TextureCubeMap (com.jme3.texture.TextureCubeMap)3 CubeMapWrapper (com.jme3.environment.util.CubeMapWrapper)2 AmbientLight (com.jme3.light.AmbientLight)2