KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a standard 800x600 window in my XNA project. My goal is to color each individual pixel based on a rectangle array which holds boolean values. Currently I am using a 1x1 Texture and drawing each sprite in my array. I am very new to XNA and come from a GDI background, so I am doing what I would have done in GDI, but it doesn't scale very well. I have been told in another question to use a Shader, but after much research, I still haven't been able to find out how to accomplish this goal. My application loops through the X and Y coordinates of my rectangular array, does calculations based on each value, and reassigns/moves the array around. At the end, I need to update my "Canvas" with the new values. A smaller sample of my array would look like: 0,0,0,0,0,0,0 0,0,0,0,0,0,0 0,0,0,0,0,0,0 1,1,1,1,1,1,1 1,1,1,1,1,1,1 How can I use a shader to color each pixel? A very simplified version of the calculations would be: for (int y = _horizon; y >= 0; y--) // _horizon is my ending point { for (int x = _width; x >= 0; x--) // _width is obviously my x length. { if (grains[x, y] > 0) { if (grains[x, y + 1] == 0) { grains[x, y + 1] = grains[x, y]; grains[x, y] = 0; } } } } ..each time the update method is called, the calculations are performed and in example of the above loop, an update may look like: Initial: 0,0,0,1,0,0,0 0,0,0,0,0,0,0 0,0,0,0,0,0,0 1,1,1,0,1,1,1 1,1,1,1,1,1,1 First: 0,0,0,0,0,0,0 0,0,0,1,0,0,0 0,0,0,0,0,0,0 1,1,1,0,1,1,1 1,1,1,1,1,1,1 Second: 0,0,0,0,0,0,0 0,0,0,0,0,0,0 0,0,0,1,0,0,0 1,1,1,0,1,1,1 1,1,1,1,1,1,1 Final: <pre
Tags (comma-separated)
Save Edits
Cancel