xna-4.0


Particle System: XNA Framework HiDef profile does not support alpha blending on Vector4 textures


I found this great tutorial on making a particle system in XNA:
http://www.catalinzima.com/tutorials/4-uses-of-vtf/particle-systems/
The problem is that its written for an older version of xna and xna 4.0.
In the DoPhysicsPass method I get this exception:
XNA Framework HiDef profile does not support alpha blending or ColorWriteChannels when using rendertarget format Vector4.
Here is the method that is blowing up
private void doPhysicsPass(string technique, RenderTarget2D resultTarget)
{
GraphicsDevice.SetRenderTarget(temporaryRT);
GraphicsDevice.Clear(Color.White);
spriteBatch.Begin();
physicsEffect.CurrentTechnique = physicsEffect.Techniques[technique];
if (isPhysicsReset)
{
physicsEffect.Parameters["positionMap"].SetValue(positionRT);
physicsEffect.Parameters["velocityMap"].SetValue(velocityRT);
}
physicsEffect.CurrentTechnique.Passes[0].Apply();
spriteBatch.Draw(randomTexture, new Rectangle(0, 0, particleCount, particleCount), Color.White);
spriteBatch.End(); //<----- Exception thrown here
GraphicsDevice.SetRenderTarget(resultTarget);
spriteBatch.Begin();
physicsEffect.CurrentTechnique = physicsEffect.Techniques["CopyTexture"];
physicsEffect.CurrentTechnique.Passes[0].Apply();
spriteBatch.Draw(temporaryRT, new Rectangle(0, 0, particleCount, particleCount), Color.White);
spriteBatch.End();
}
Here is the initialization of randomTexture:
velocityRT = new RenderTarget2D(GraphicsDevice, particleCount, particleCount, false,
SurfaceFormat.Vector4, DepthFormat.None);
Can anyone offer some suggestions how to fix this?
First of all, are you sure you're setting the effect on the SpriteBatch correctly? I'm not sure you are. It looks like you've converted the tutorial, which is using the old pre-4.0 way of applying custom render settings (details).
I suspect you either need to be passing SpriteSortMode.Immediate to Begin (note that this will disable batching), or passing in your effect (probably after setting CurrentTechnique).
The second issue is simply explained by the exception. You need to disable alpha blending and ColorWriteChannels. I suspect that ColorWriteChannels is actually disabled anyway (the default). To disable alpha blending, try passing BlendState.Opaque to SpriteBatch.Begin (AlphaBlend is the default).
I've not tried updating the tutorial to XNA 4.0 myself - but I'm pretty sure that fixing either one or both of these things will fix your problem.

Related Links

'Microsoft.Xna.Framework.Vector2' is a 'type' but is used like a variable?
Making a trading card game XNA
How do I fix 'No suitable method found to override' error on XNA 4.0?
When to use PresentationParameters.BackBufferWidth vs .Viewport.Width
What does the pixel shader function tex1D do with a Texture2d
How to add a lap timer in XNA?
Is there a Texture1D in XNA?
Particle System: XNA Framework HiDef profile does not support alpha blending on Vector4 textures
How to unset texture data in XNA 4.0
Detecting a Key Press in XNA 4.0?
How to add a start (splash) screen in XNA 4.0?
My program is being reported as a high-level security threat by AVG?
How to add an end screen in XNA 4.0?
Texture2D is way oversized in XNA 4.0?
How to set xna's TextureFilter to Point
Why doesnt my xna pixel shader turn this texture blue?

Categories

HOME
compiler-construction
variables
deployment
gerrit
zeromq
oracle11g
relay
alfresco
react-redux
tizen-web-app
rubygems
binary-tree
survey
metatrader4
here-api
offline
remote-access
carthage
fatal-error
windows-7-x64
reactive-cocoa
interop
viewport
alpine
jtextfield
mustache.php
language-agnostic
selectedindexchanged
fopen
maquette
ping
typed.js
windows-dev-center
azure-sql-database
http-digest
appfabric
x11-forwarding
streamsets
leading-zero
reportingservices-2005
apple-news
scrollable
smartcontracts
zip4j
errordocument
worksheet
mplayer
namecoin
pearson
nbconvert
google-cdn
pintos
ableton-live
android-fonts
removechild
azure-virtual-network
phishing
mikroc
xml-attribute
qpid
gstreamer-0.10
lttng
make-install
tform
xna-4.0
lib.web.mvc
teamcity-8.0
eclipse-clp
content-length
cisco-ios
p2
lustre
system.reflection
google-style-guide
android-radiobutton
undefined-reference
datagridviewcolumn
oam
ms-project-server-2010
odata4j
quartz-graphics
bulkloader
ora-00911
shellexecute
buster.js
sqlperformance
robotics-studio
clipper
runas
wse3.0
dotnethighcharts
punbb
zpt
rfc1123
javax.script
revisions
nhibernate.search
preference
vc90
eqatec
avatar
mediarss

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App