當前位置: 首頁>>代碼示例>>Java>>正文


Java FrameBuffer類代碼示例

本文整理匯總了Java中com.badlogic.gdx.graphics.glutils.FrameBuffer的典型用法代碼示例。如果您正苦於以下問題:Java FrameBuffer類的具體用法?Java FrameBuffer怎麽用?Java FrameBuffer使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


FrameBuffer類屬於com.badlogic.gdx.graphics.glutils包,在下文中一共展示了FrameBuffer類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: VRCamera

import com.badlogic.gdx.graphics.glutils.FrameBuffer; //導入依賴的package包/類
public VRCamera(int width, int height, int viewportWidth, int viewportHeight) {
    leftCamera = new PerspectiveCamera(90, viewportWidth, viewportHeight);
    rightCamera = new PerspectiveCamera(90, viewportWidth, viewportHeight);
    leftBuffer = new FrameBuffer(Pixmap.Format.RGBA8888, width, height, true);
    rightBuffer = new FrameBuffer(Pixmap.Format.RGBA8888, width, height, true);
    leftTexture = new TextureRegion();
    rightTexture = new TextureRegion();
    batch = new SpriteBatch();
    this.width = width;
    this.height = height;
    this.viewportWidth = viewportWidth;
    this.viewportHeight = viewportHeight;
    tmpVector3 = new Vector3();
    position = new Vector3(250, 20, 250);
    positionLeft = new Vector3(249.5f, 20, 250);
    positionRight = new Vector3(250.5f, 20, 250);
    direction = new Vector3();
    up = new Vector3(0, 1, 0);
    eyeDistance = 0.5f;
}
 
開發者ID:justinmarentette11,項目名稱:Tower-Defense-Galaxy,代碼行數:21,代碼來源:VRCamera.java

示例2: initialize

import com.badlogic.gdx.graphics.glutils.FrameBuffer; //導入依賴的package包/類
@Override
protected void initialize() {
    batch = new SpriteBatch(4000);
    new ShapeRenderer();

    planetPixel = new TextureRegion(new Texture("planetcell.png"), 1, 1);

    dirtyMask = new int[SIMULATION_WIDTH * SIMULATION_HEIGHT];

    frameBuffer = new FrameBuffer(Pixmap.Format.RGBA8888, SIMULATION_WIDTH, SIMULATION_HEIGHT, false);
    frameBuffer.getColorBufferTexture().setFilter(Texture.TextureFilter.Nearest, Texture.TextureFilter.Nearest);
    frameBuffer.begin();
    Gdx.gl.glClearColor(0f, 0f, 0f, 1f);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    frameBuffer.end();

    vboCamera = new OrthographicCamera(SIMULATION_WIDTH, SIMULATION_HEIGHT);
    vboCamera.setToOrtho(true, SIMULATION_WIDTH, SIMULATION_HEIGHT);
    vboCamera.update();
}
 
開發者ID:DaanVanYperen,項目名稱:odb-little-fortune-planet,代碼行數:21,代碼來源:PlanetRenderSystem.java

示例3: render

import com.badlogic.gdx.graphics.glutils.FrameBuffer; //導入依賴的package包/類
@Override
public void render(Texture source, FrameBuffer destination) {

	switch (effects.size) {
	case 0:
		// No effect: make some simple copy
		if (copy == null)
			copy = new Copy();
		copy.render(source, destination);
		break;
	case 1:
		effects.first().render(source, destination);
		break;
	default:
		effects.first().render(source, buffer.getCurrentBuffer());
		for (int i = 1; i < effects.size - 1; i++)
			effects.get(i).render(buffer.getResultTexture(), buffer.getCurrentBuffer());
		effects.peek().render(buffer.getResultTexture(), destination);
		break;
	}
}
 
開發者ID:spookygames,項目名稱:gdx-gfx,代碼行數:22,代碼來源:MultiVisualEffect.java

示例4: render

import com.badlogic.gdx.graphics.glutils.FrameBuffer; //導入依賴的package包/類
@Override
public void render(Texture source, FrameBuffer destination) {

	// Draw outlined to buffer
	buffer.getCurrentTexture().bind(0);
	buffer.begin();
	
	Gdx.gl.glClearColor(0f, 0f, 0f, 0f);
	Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
	renderOutlined();
	
	buffer.end();

	filter.render(buffer.getResultTexture(), buffer.getCurrentBuffer());

	// mix original scene and outlines
	superimpose.setAdditionalInput(buffer.getResultTexture());
	superimpose.render(source, destination);
}
 
開發者ID:spookygames,項目名稱:gdx-gfx,代碼行數:20,代碼來源:Outline.java

示例5: init

import com.badlogic.gdx.graphics.glutils.FrameBuffer; //導入依賴的package包/類
@Override
public void init(final GraphicsService graphicsService, final GameMap map) {
    lightingShader.begin();
    lightingShader.setUniformf(
            "resolution",
            Gdx.graphics.getWidth(),
            Gdx.graphics.getHeight()
    );
    lightingShader.setUniformi("u_lightmap", 1);
    lightingShader.setUniformf("ambientColor", ambientColor.x, ambientColor.y, ambientColor.z, ambientIntensity);
    lightingShader.end();
    frameBuffer = new FrameBuffer(
            Pixmap.Format.RGBA8888,
            graphicsService.getResolutionWidth(),
            graphicsService.getResolutionHeight(),
            false
    );
}
 
開發者ID:JayStGelais,項目名稱:jrpg-engine,代碼行數:19,代碼來源:LightingEffect.java

示例6: setLightSource

import com.badlogic.gdx.graphics.glutils.FrameBuffer; //導入依賴的package包/類
public AbsStdLight setLightSource(EscapyLightType light) {

		this.updState();
		this.lightSource = light;
		this.interCam = new EscapyGdxCamera((int) this.lightSource.getWidth(), (int) this.lightSource.getHeight());
		this.fbo = new StandartFBO(id, (int) this.lightSource.getWidth(), (int) this.lightSource.getHeight(), "<AbsLightTexture_FBUFFER>");
		FrameBuffer tmpBuff = new FrameBuffer(Pixmap.Format.RGBA8888, (int) this.lightSource.getWidth(),(int) this.lightSource.getHeight(), false);
		tmpBuff.begin();
		Gdx.gl.glClearColor(0f, 0f, 0f, 0f);
		Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
		tmpBuff.end();
		FrameBuffer bgBuff = new FrameBuffer(Pixmap.Format.RGBA8888, (int) this.lightSource.getWidth(),(int) this.lightSource.getHeight(), false);
		bgBuff.begin();
		Gdx.gl.glClearColor(0f, 0f, 0f, 0f);
		Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
		bgBuff.end();

		this.lightSprite = new Sprite(tmpBuff.getColorBufferTexture());
		this.bgSprite = new Sprite(bgBuff.getColorBufferTexture());

		System.out.println(lightSource.setName(Integer.toString(getID())));
		return this;
	}
 
開發者ID:henryco,項目名稱:Escapy,代碼行數:24,代碼來源:AbsStdLight.java

示例7: LightMap

import com.badlogic.gdx.graphics.glutils.FrameBuffer; //導入依賴的package包/類
public LightMap(RayHandler rayHandler, int fboWidth, int fboHeight) {
	this.rayHandler = rayHandler;

	if (fboWidth <= 0)
		fboWidth = 1;
	if (fboHeight <= 0)
		fboHeight = 1;
	frameBuffer = new FrameBuffer(Format.RGBA8888, fboWidth,
			fboHeight, false);
	pingPongBuffer = new FrameBuffer(Format.RGBA8888, fboWidth,
			fboHeight, false);

	lightMapMesh = createLightMapMesh();

	shadowShader = ShadowShader.createShadowShader();
	diffuseShader = DiffuseShader.createShadowShader();

	withoutShadowShader = WithoutShadowShader.createShadowShader();

	blurShader = Gaussian.createBlurShader(fboWidth, fboHeight);

}
 
開發者ID:bitbrain,項目名稱:rbcgj-2016,代碼行數:23,代碼來源:LightMap.java

示例8: renderBRDF

import com.badlogic.gdx.graphics.glutils.FrameBuffer; //導入依賴的package包/類
private Texture renderBRDF() {
    ShaderProgram brdfShader = new ShaderProgram(
            Gdx.files.internal("shaders/brdf_shader.vert"),
            Gdx.files.internal("shaders/brdf_shader.frag"));

    FrameBuffer frameBuffer = FrameBuffer.createFrameBuffer(Pixmap.Format.RGB888, (int) brdfWidth, (int) brdfHeight, true);

    brdfShader.begin();
    frameBuffer.begin();
    Gdx.gl.glViewport(0, 0, (int) brdfWidth, (int) brdfHeight);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
    quadMesh.render(brdfShader, GL20.GL_TRIANGLES);
    frameBuffer.end();
    brdfShader.end();
    brdfShader.dispose();

    return frameBuffer.getColorBufferTexture();
}
 
開發者ID:MovementSpeed,項目名稱:nhglib,代碼行數:19,代碼來源:LightProbe.java

示例9: CrtMonitor

import com.badlogic.gdx.graphics.glutils.FrameBuffer; //導入依賴的package包/類
public CrtMonitor (int fboWidth, int fboHeight, boolean barrelDistortion, boolean performBlur, RgbMode mode, int effectsSupport) {
	doblur = performBlur;

	if (doblur) {
		pingPongBuffer = PostProcessor.newPingPongBuffer(fboWidth, fboHeight, PostProcessor.getFramebufferFormat(), false, false);
		blur = new Blur(fboWidth, fboHeight);
		blur.setPasses(1);
		blur.setAmount(1f);
		// blur.setType( BlurType.Gaussian3x3b ); // high defocus
		blur.setType(BlurType.Gaussian3x3); // modern machines defocus
	} else {
		buffer = new FrameBuffer(PostProcessor.getFramebufferFormat(), fboWidth, fboHeight, false);
	}

	combine = new Combine();
	crt = new CrtScreen(barrelDistortion, mode, effectsSupport);
}
 
開發者ID:Osaris31,項目名稱:exterminate,代碼行數:18,代碼來源:CrtMonitor.java

示例10: applyPasses

import com.badlogic.gdx.graphics.glutils.FrameBuffer; //導入依賴的package包/類
public FrameBuffer applyPasses (SpriteBatch batch, FrameBuffer inputBuffer, FrameBuffer outputBuffer) {
	batch.begin();
	batch.setProjectionMatrix(matrix);
	FrameBuffer iBuffer = inputBuffer;
	FrameBuffer oBuffer = outputBuffer;
	for (int i = 0; i < passes.size; i++) {
		oBuffer.begin();
		Gdx.gl.glClearColor(0, 0, 0, 1);
		Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
		batch.setShader(RavTech.sceneHandler.shaderManager.get(passes.get(i)));
		batch.draw(iBuffer.getColorBufferTexture(), 0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
		batch.setShader(RavTech.sceneHandler.shaderManager.get("default"));
		oBuffer.end();
		FrameBuffer tempBuffer = oBuffer;
		oBuffer = iBuffer;
		iBuffer = tempBuffer;
	}
	batch.end();
	return oBuffer;
}
 
開發者ID:Quexten,項目名稱:RavTech,代碼行數:21,代碼來源:PostProcessingEffect.java

示例11: ShaderManager

import com.badlogic.gdx.graphics.glutils.FrameBuffer; //導入依賴的package包/類
public ShaderManager (String shaderDir, AssetManager am, boolean addProcessors) {
	shaders = new ObjectMap<String, ShaderProgram>();
	shaderPaths = new ObjectMap<String, String>();
	sourcesVert = new ObjectMap<String, String>();
	sourcesFrag = new ObjectMap<String, String>();
	frameBuffers = new ObjectMap<String, FrameBuffer>();
	openedFrameBuffers = new Array<String>(true, MAX_FRAMEBUFFERS);
	screenCamera = new OrthographicCamera(Gdx.graphics.getWidth() + 2, Gdx.graphics.getHeight() + 2);
	createScreenQuad();
	screenCamera.translate(0, -1);
	screenCamera.update();
	setShaderDir(shaderDir);
	setAssetManager(am);
	// add("empty", "empty.vert", "empty.frag");
	// add("default", "default.vert", "default.frag");
	if (addProcessors && (Gdx.app.getType() == ApplicationType.Desktop || Gdx.app.getType() == ApplicationType.Applet
		|| Gdx.app.getType() == ApplicationType.WebGL)) {
		/*
		 * add("processor", "processor.vert", "processor.frag"); add("processor_blur", "processor.vert", "processor_blur.frag");
		 * add("copy", "processor.vert", "copy.frag"); add("processor_draw", "processor.vert", "processor_draw.frag");
		 * add("processor_fill", "processor.vert", "processor_fill.frag");
		 */
	}
}
 
開發者ID:Quexten,項目名稱:RavTech,代碼行數:25,代碼來源:ShaderManager.java

示例12: resize

import com.badlogic.gdx.graphics.glutils.FrameBuffer; //導入依賴的package包/類
/** Resizes internal RavCamera for framebuffer use, call this in you ApplicationListener's resize.
 * 
 * @param width - new screen width
 * @param height - new screen height
 * @param resizeFramebuffers - whether all of the framebuffers should be recreated to match new screen size */
public void resize (int width, int height, boolean resizeFramebuffers) {
	// ?????
	if (resizeFramebuffers) {
		Keys<String> keys = frameBuffers.keys();
		while (keys.hasNext) {
			String key = keys.next();
			FrameBuffer fb = frameBuffers.get(key);
			int oldWidth = fb.getWidth();
			int oldHeight = fb.getHeight();
			Format format = fb.getColorBufferTexture().getTextureData().getFormat();
			fb.dispose();
			frameBuffers.put(key, null);
			float factorX = 1f * width / screenCamera.viewportWidth;
			float factorY = 1f * height / screenCamera.viewportHeight;
			createFB(key, format, (int)(factorX * oldWidth), (int)(factorY * oldHeight));
			// System.out.println("Recreated FB '" + key + "' from " +
			// oldWidth + "x" + oldHeight + " to " +
			// frameBuffers.get(key).getWidth() + "x" +
			// frameBuffers.get(key).getHeight());
		}
	}
	screenCamera = new OrthographicCamera(width, height);
	createScreenQuad();
}
 
開發者ID:Quexten,項目名稱:RavTech,代碼行數:30,代碼來源:ShaderManager.java

示例13: CrtMonitor

import com.badlogic.gdx.graphics.glutils.FrameBuffer; //導入依賴的package包/類
public CrtMonitor(int fboWidth, int fboHeight, boolean barrelDistortion, boolean performBlur, RgbMode mode,
      int effectsSupport) {
   doblur = performBlur;

   if (doblur) {
      pingPongBuffer = PostProcessor.newPingPongBuffer(fboWidth, fboHeight, PostProcessor.getFramebufferFormat(),
            false);
      blur = new Blur(fboWidth, fboHeight);
      blur.setPasses(1);
      blur.setAmount(1f);
      // blur.setType( BlurType.Gaussian3x3b ); // high defocus
      blur.setType(BlurType.Gaussian3x3); // modern machines defocus
   } else {
      buffer = new FrameBuffer(PostProcessor.getFramebufferFormat(), fboWidth, fboHeight, false);
   }

   combine = new Combine();
   crt = new CrtScreen(barrelDistortion, mode, effectsSupport);
}
 
開發者ID:bitbrain,項目名稱:braingdx,代碼行數:20,代碼來源:CrtMonitor.java

示例14: render

import com.badlogic.gdx.graphics.glutils.FrameBuffer; //導入依賴的package包/類
public void render(Batch batch, float delta, FrameBuffer buffer) {
   if (isEnabled()) {
      if (shaderManager.hasEffects()) {
         shaderManager.begin();
         this.batch.setProjectionMatrix(camera.combined);
         this.batch.begin();
         this.batch.draw(buffer.getColorBufferTexture(), 0f, 0f);
         this.batch.end();
         layer.render(batch, delta);
         shaderManager.end(buffer);
      } else {
         buffer.begin();
         layer.render(batch, delta);
         buffer.end();
      }
   }
}
 
開發者ID:bitbrain,項目名稱:braingdx,代碼行數:18,代碼來源:CombinedRenderPipe.java

示例15: create

import com.badlogic.gdx.graphics.glutils.FrameBuffer; //導入依賴的package包/類
@Override
 public RenderPipeline create() {
    ShaderConfig config = mock(ShaderConfig.class);
    PostProcessor processorMock = mock(PostProcessor.class);
    FrameBufferFactory factory = mock(FrameBufferFactory.class);
    FrameBuffer buffer = mock(FrameBuffer.class);
    Texture mockTexture = mock(Texture.class);
    ViewportFactory viewportFactory = mock(ViewportFactory.class);
    Viewport viewport = mock(Viewport.class);
    when(factory.create(Mockito.anyInt(), Mockito.anyInt())).thenReturn(buffer);
    Mockito.doAnswer(new Answer<Object>() {
@Override
public Object answer(InvocationOnMock invocation) throws Throwable {
	return null;
}    	  
    }).when(viewport).update(Mockito.anyInt(), Mockito.anyInt(), Mockito.anyBoolean());
    when(viewportFactory.create(Mockito.anyInt(), Mockito.anyInt())).thenReturn(viewport);
    when(buffer.getColorBufferTexture()).thenReturn(mockTexture);
    return new CombinedRenderPipeline(config, processorMock, factory, mock(SpriteBatch.class),
          mock(OrthographicCamera.class), viewportFactory);
 }
 
開發者ID:bitbrain,項目名稱:braingdx,代碼行數:22,代碼來源:MockedCombinedRenderPipelineFactory.java


注:本文中的com.badlogic.gdx.graphics.glutils.FrameBuffer類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。