using XNA Framework with no shader capability display driver?
I have Intel 82852/82855 GM/GME graphic card with no support for shaders.
Is it possible to develop a 3d application with XNA Framework under this condition.When I run a tutorial project I got the message "Both a valid vertex shader and pixel shader (or valid effect) must be set on the device before draw operations may be performed."
I am new to XNA concept. Before I was developing with MDX 1.1 and I can develop 3d application with out shader support. So how can do this with XNA...
It isn't possible with XNA. The minimum requirements for XNA require a video card with at least shader 1.1 support. You can develop without it, but you won't be able to test your applications and run them on computers that don't meet at least that requirement.
There is currently no way around this and no support for XNA development on PC's that don't meet the minimum requirements. However, video cards that meet the requirements aren't very expensive and you should be able to pick on up relatively cheaply.
H?mm,thanks I lot...I was searching net, but can not find just a clear answer like this...
For developing any 2d application with XNA framework, are there any restrictions or requirements...
Just those that are listed on the
FAQ page - the shader requirement which you've already discovered. XP SP2 is also the supported OS though some have been able to get it to run under NT and Vista.
Yeah, the requirements are more specific to XNA itself and really do not differ between 2D and 3D development.
So, even 2D development will require a video card that supports at least shader 1.1
I haven't looked much into XNA yet, but is there no way we can write our own renderer? Is there a specification of the interfaces it would need to implement, and a way to load it (on the PC) instead of the standard XNA renderer? If not, will this be possible in XNA Professional (I'd say it wouldn't be so pro without it..)?
A propos, I can't figure out by the announcements if Pro requires VSTS - will it?
These are very important issues to our studio if we're to go with XNA.
Thanks
Not much has been said yet about the Pro or Studio versions. I would imagine they'd have a bit more flexibility than Express though.
There was a thread just this week about how to use the reference rasterizer, effectively allowing you to test XNA games without a suitable graphics card:
Using reference rasterizer on virtualized windows/xna.
But I also suggest that you pick up a cheap shader 2.0 graphics card. Testing your game in the reference rasterizer at 0.1 fps won't get you anywhere :)
-Markus-
I have started to look at some documents about reference rasterizer, but as I had gone so far, it is not a good idea to work on I think. I will be waiting for the new display adapters, maybe it is more suitable when they are out.
So maybe it is not neccesary to talk about in here, but the topic is hot :) so is it possible to develop windows applications with XNA. I mean with viewports,designing a simple 3d cad program maybe. If testing and developing is hard(impossible) with a display card without shader support, I think this is also impossible. Is XNA just for game developing...
Animatronic wrote: |
| Is XNA just for game developing... |
|
No. Right now the focus is on game development, but there's no reason you couldn't design a CAD program with it. Any machine used for CAD should have a high-powered graphics card so the XNA requirements shouldn't be a problem. You're not (hopefully) going to be doing CAD on a machine with a graphics chip on the motherboard.

Jonas Beckeman wrote: |
I haven't looked much into XNA yet, but is there no way we can write our own renderer? |
|
XNA isn't really a renderer as such, it's just a low level API for
drawing graphics, roughly similar in scope to something like OpenGL or
MDX. So it wouldn't really be meaningful to plug in a different
renderer via an interface. The expectation is that people will be
building higher level renderers on top of the XNA graphics API.
Of course you could just ignore the XNA graphics functionality and
use some other API to do your drawing. On Windows, XNA is just an
assembly like any other, so you could use some parts of it while
ignoring others.
There are no other graphics API's available on Xbox, though, so you
won't be able to run on Xbox if you go that route. Also, graphics is
such a big part of XNA that I'd have to wonder, if you weren't going to
use our graphics functionality, what else is left that makes it worth using XNA at all?
Jonas Beckeman wrote: |
A propos, I can't figure out by the announcements if Pro requires VSTS - will it? |
|
Pro does not exist yet, and no details have been announced about it.
Shawn Hargreaves - MSFT wrote: |
XNA isn't really a renderer as such, it's just a low level API for drawing graphics [...] I'd have to wonder, if you weren't going to use our graphics functionality, what else is left that makes it worth using XNA at all?
|
|
Seems you're forgetting about the content pipeline? That (and the components etc that people are going to write for XNA) is what I'm interested in. MDX works fine for me, or OpenGL for mono apps, or software rendering for some apps (yes, for PC, not X360). A good resource management system, with importers, compilers etc is much harder to get right.
You could certainly use the content pipeline to drive some other
rendering technology, but you'd have to do a bit more work. The built
in output types and ContentTypeWriter / ContentTypeReader
implementations are obviously closely tied to our graphics classes, so
you would have to replace the end portion of the pipe. The build
infrastructure, importers, intermediate object model, and loader system
can be applied to any output types you like, though.
So by studying and duplicating the public interfaces for graphics classes I could write my own renderer? No hidden internal methods or classes are used? Does the content pipeline uses a plugin pattern (so it merely needs interfaces) or would I have to name all namespaces/dlls like the originals and "fool" the system into thinking it's running standard XNA?
I understand this is very low priority for you, but I would appreciate it if you could confirm this before I start spending time on looking closer at it.
BTW, would it be illegal to use the Reflector and try to reverse-engineer the XNA rendering classes?
The content pipeline is not tied to the XNA graphics system. There's no
point trying to duplicate our public interfaces: that just happens to
be the way we do graphics, but if you want to do graphics some other
way, you could extend the pipeline to provide whatever kind of data
your preferred graphics API wants to consume.