@DSGenerator( tool_name = "Doppelganger", tool_version = "2.0", generated_on = "2014-03-24 16:06:05.610 -0400", hash_original_method = "CDA5C14F8CDCE778A8FB11BE8150AA9D", hash_generated_method = "3FFDA852F4258D4F3758CE4950CDFF55") @Override public Frame newBoundFrame(FrameFormat format, int bindingType, long bindingId) { Frame result = null; switch (format.getTarget()) { case FrameFormat.TARGET_GPU: { GLFrame glFrame = new GLFrame(format, this, bindingType, bindingId); glFrame.init(getGLEnvironment()); result = glFrame; break; } default: throw new RuntimeException( "Attached frames are not supported for target type: " + FrameFormat.targetToString(format.getTarget()) + "!"); } return result; }
@Override public void process(FilterContext context) { // Get input frame Frame input = pullInput("image"); FrameFormat inputFormat = input.getFormat(); // Create program if not created already if (mProgram == null || inputFormat.getTarget() != mTarget) { initProgram(context, inputFormat.getTarget()); } // Check if the frame size has changed if (inputFormat.getWidth() != mWidth || inputFormat.getHeight() != mHeight) { mWidth = inputFormat.getWidth(); mHeight = inputFormat.getHeight(); initParameters(); } // Create output frame Frame output = context.getFrameManager().newFrame(inputFormat); // Process mProgram.process(input, output); // Push output pushOutput("image", output); // Release pushed frame output.release(); }
@DSGenerator( tool_name = "Doppelganger", tool_version = "2.0", generated_on = "2014-03-24 16:06:05.612 -0400", hash_original_method = "D9BBB52F9327CED81F2FD031D449BDDB", hash_generated_method = "BEBB154B0E0C4A7B71B71BFF09B6D9F8") private Frame createNewFrame(FrameFormat format) { Frame result = null; switch (format.getTarget()) { case FrameFormat.TARGET_SIMPLE: result = new SimpleFrame(format, this); break; case FrameFormat.TARGET_NATIVE: result = new NativeFrame(format, this); break; case FrameFormat.TARGET_GPU: { GLFrame glFrame = new GLFrame(format, this); glFrame.init(getGLEnvironment()); result = glFrame; break; } case FrameFormat.TARGET_VERTEXBUFFER: { result = new VertexFrame(format, this); break; } default: throw new RuntimeException( "Unsupported frame target type: " + FrameFormat.targetToString(format.getTarget()) + "!"); } return result; }
@Override public void process(FilterContext context) { // Get input frame Frame input = pullInput("image"); FrameFormat inputFormat = input.getFormat(); // Create program if not created already if (mProgram == null || inputFormat.getTarget() != mTarget) { initProgram(context, inputFormat.getTarget()); updateParameters(); } // Create output frame Frame output = context.getFrameManager().newFrame(inputFormat); // Process mProgram.process(input, output); // Push output pushOutput("image", output); // Release pushed frame output.release(); }