如何在我绘制的线条上添加发光效果?我正在使用OpenGL for Linux.
我一直试图使用Java制作类似2D空间的游戏,只是为了它的乐趣.我决定只使用Java的Graphics2D渲染我的游戏,因为我没有心情去学习LWJGL.但是,我刚才意识到它是多么有限.例如,我意识到一个漂亮的绽放/发光效果看起来非常好.但是,我在Google上找不到有关使用Graphics2D并且不使用其他库的任何内容.
我正在寻找什么样的绽放效果:https:
//gamedev.stackexchange.com/questions/18594/how-can-i-make-this-style-of-2d-glowing-graphics
绽放信息:http:
//en.wikipedia.org/wiki/Bloom_%28shader_effect%29
我目前正在尝试使用 Three.js 并尝试添加绽放效果。然而,当我添加绽放时,它更像是模糊而不是真正的绽放:
编码:
composer = new THREE.EffectComposer(renderer, renderTarget);
effectBloom = new THREE.BloomPass(1, 25, 5);
composer.addPass(renderModel)
composer.addPass(effectBloom);
composer.addPass(copyPass)
Run Code Online (Sandbox Code Playgroud)
并且它被呈现为:
composer.render( delta )
Run Code Online (Sandbox Code Playgroud)
我想更接近这个:
您好,我正在尝试在节点周围产生发光效果。我使用了 SCNNode 过滤器属性并设置为 CIFilter 数组。
仅当节点后面没有我不理解的节点时,它才起作用并呈现。我尝试设置渲染顺序和 readDepth 选项,但没有成功。我现在真的很困惑,非常感谢您的意见!
请参阅屏幕截图以获取示例和代码示例。
func addBloom() -> [CIFilter]? {
let bloomFilter = CIFilter(name:"CIBloom")!
bloomFilter.setValue(10.0, forKey: "inputIntensity")
bloomFilter.setValue(30.0, forKey: "inputRadius")
return [bloomFilter]
}
Run Code Online (Sandbox Code Playgroud)
使用以下方式调用它:
myNode.filters = addBloom()
Run Code Online (Sandbox Code Playgroud)
最后一点,我注意到 CIFilter 要与 Metal 一起使用,抗锯齿需要设置为 .none
arSceneView.antialiasingMode = .none
Run Code Online (Sandbox Code Playgroud)
多谢!
阿德里安
我有一个使用Reach图形设置在C#XNA 4.0中编码的Windows平台游戏.我的项目基于GameStateManagement示例,但后来我添加了Bloom和spriteSheet/spriteBatch功能.
我希望保存最终屏幕输出的屏幕截图.但是,当我保存我的截图时,它只显示Bloom应用之前和我的HUD文本显示之前的渲染(我在Bloom之后绘制).在这两个过程之后,我的Draw方法结束时保存了截图.
我尝试过各种各样的事情.安德鲁的答案在这里拍摄XNA中的屏幕截图是有帮助的并且可以保存图像; 但是,它并没有保存最终渲染.
我有一种感觉它与绽放过程或spograbatch有关.
这是我的代码:
example {
public override void Draw(GameTime gameTime)
{
ScreenManager.GraphicsDevice.SetRenderTarget(sceneRenderTarget);
// Clear the screen to black
ScreenManager.GraphicsDevice.Clear(ClearOptions.Target,
Color.Black, 0, 0);
SpriteBatch spriteBatch = ScreenManager.SpriteBatch;
spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend);
// then i draw all my game stuff
spriteBatch.End();
#region Post-Processing & Bloom
ScreenManager.GraphicsDevice.SamplerStates[1] = SamplerState.LinearClamp;
// Pass 1: draw the scene into rendertarget 1, using a
// shader that extracts only the brightest parts of the image.
bloomExtractEffect.Parameters["BloomThreshold"].SetValue(
Settings.BloomThreshold);
DrawFullscreenQuad(sceneRenderTarget, renderTarget1,
bloomExtractEffect,
IntermediateBuffer.PreBloom); …Run Code Online (Sandbox Code Playgroud) 我是 Ursana 引擎的新手,我不太了解它。但我可以用它制作游戏。但问题是我的游戏没有任何<Shadows、Glow、Lighting 或 Bloom>。所以我的游戏看起来死了。
有什么方法可以让我的游戏在 Ursana 引擎中使用<Shadows、Glow、Lighting 和 Bloom>看起来不错吗?