# DirectXFreak

Member

699

166 Neutral

• Rank
1. ## Handling non-power of two screen resolutions with tile based rendering

Greetings, I'm implementing my own multi-threaded tile-based software rasterizer, and I've come across an interesting issue with handling tiles. According to this article, the Larrabee rasterizer works by dividing the screen buffer into 128x128 tiles (or sometimes 64x64). How do you handle the edges of the screen when normal screen resolutions aren't powers of two? The solution is that you obviously have to have tiles that aren't power of two for the edges. But take 800x600 as an example, I'd end up having a 32x128 tile on the right edge of the screen. Would you simply use that skewed tile as the edge and not worry about it? I guess the alternative could be to merge that into the adjacent tile, so then I'd be looking at having 144x128 on the right side. I'm not sure which is better. I guess Larrabee does its inner tile calculates on 16x16 pixel mini-tiles. In that case, even if they did use some 32x128 tiles, they would still be multiples of 16 so the vector code wouldn't break. Maybe this isn't even a big deal. I'm just trying to understand the best way to tackle this problem. What do you guys think?
2. ## OpenGL Supporting any vertex format for software rasterizer

Greetings! I have a peculiar problem. I'm researching how to write a 3D software rasterizer, and I would really like it to support some kind of programmable shader. Furthermore, I'd like to support a dynamic vertex definition system like DirectX/OpenGL have for their programmable pipelines. Basically, I'd like to be able to do the following, like in DirectX: VertexDefinition def = { 0, VTYPE_FLOAT4, VSYM_POSITION, 16, VTYPE_FLOAT4, VSYM_NORMAL, 32, VTYPE_FLOAT2, VSYM_TEXCOORD0 }; And then be able to pass that to the rasterizer. The thing is, the rasterizer needs to be able to handle that format and interpolate the terms appropriately, and then pass them to the shader. I don't want to pepper my code with conditional branches, so I don't really know what a suitable alternative is. Do most video cards use JIT to dynamically compile their rasterizers or something? (sorry if that doesn't make any sense, I'm trying to understand...) I've read Andre Lamothe's Trick's book, and he uses a fixed function pipeline where he writes a different rasterize function for each vertex type. That doesn't sound like the best solution to me. What do you guys think?
3. ## You know, I've this idea...

I can't help but I think it's a cool idea, and as a programmer, I would definitely use the site. I like the serializer class. Good work!

ok
5. ## If i hear those words one more time...

Sorry, I'd make a longer reply, but my CoD game starts in 10 seconds. I'm almost to level 40!
6. ## Did I just get electrocuted?

I was setting up for an outdoor concert the other day as part of my job, and because it was such a nice day, I decided to go barefoot on the grass. I went to plug an XLR (microphone) cable into the back of our powered mixer, and I touched the metal protective case that the mixer was sitting on. I felt my entire hand go numb and I nearly fell over, it was the craziest feeling. I put my shoes back on after that.
7. ## watch out for long delays on Dell orders

My first encounter with dell was amazing. I custom built the 15" Inspiron laptop with a 1680x1050 screen (which was obnoxiously rare to find a year and a half ago) 2GB ram, an nVidia 8600GT and a 120GB HD. The amazing part was I found a coupon online that knocked the price down from $1,500 to$1,050. I still can't find a laptop as nice as mine for that much. Aside from the rather generic build quality of the laptop shell itself, the speakers, lcd panel, and keyboard are incredible. On the other hand, my encounters since than have been less than satisfactory. I got my sister the 13" model, and the lcd panel looked like it had a layer of dirt across it. It must have been a design flaw, because the second laptop had the exact same thing. She returned it and got a Macbook. Just recently my Dad got one of their new studio models, and it seems to work fine, except that the speakers are utter rubbish. It doesn't seem to bother him, but I would have returned it in a flash.
8. ## Does heat leave or does cold enter?

You could always perform an experiment with colored gases in two separate rooms at differing temperatures and see how they interact when you open a door.
9. ## Hypothetical situation: Give your opinion

Quote:Original post by LessBread The story doesn't sound all that hypothetical to me. Does M stand for Medusa? She's obvious trouble. Run from her like the plague. If he loves Y, then he should drop M. If Y doesn't reciprocate, then he should move on and stop seeing both women. Ultimately, the fault lies with the man because he wants to have his cake and eat it too, as it were. The best solution would be for him to find Z and have done with the playboy macho bullshit that got him into such a mess in the first place. Dump the drama. Leave the telenovelas for television. Agreed.
10. ## If you believe that virtual worlds will eventually be an important part of how we all

Quote:Original post by stimarco Quote:Original post by d000hg all what? Common a moderator should be able to at least enter a sensible title for his self-promotion. Isn't Announcements the right forum anyway? It's "come on", dammit! Gah! (twitch) Oooh... that's what he meant. I was wondering what a common moderator was.
11. ## Shattered Space (Screen Shots)

I like how the explosions look. Like Rambo said it looks a little empty. You could try adding in layered stars and some asteroids or something to give it some life.
12. ## perfect environment

Or, better yet, a combination of these three. Quote:Original post by Sparks Sitting on the toilet, just like i am now.+ Quote:Original post by Andrew Russell No power-tools happening outside! Argh!+ Quote:Original post by ryguy4377 Music and/or coffee usually does it for me.
13. ## 60Hz vs. 120Hz LCD TVs

I dislike them. It ruins the cinematic effect of movies for me (motion blur adds a lot, why do you think games have started using it! :P), and I don't see how it would make any difference whatsoever in games. It seems like their ploy to keep HDTV's priced up where they were last year, so instead of dropping the prices they just phase out the old models and bring these in. I guess that's all a matter of opinion though.
14. ## I have created.... Artificial Intelligence!!!!!

They should have a compass sensor is something like that so you could actually log a map of what the robot has already searched. You'd need a potentiometer for the driving axle as well, but then you could just plot out where the walls are each time the robot hits something, and then it could do a more systematic search. I've done a little with lego robotics but I'm fairly new AI programming, so that's just a thought off the top of my head... Anyway, I like the design you guys used, too bad it stopped working after the first puck, but that was sick. Great work overall!
15. ## Are all self-taught programmers this cocky?

My programming career began when I was twelve years old, after I discovered the plethora of programming books my local library carried. I'm 19 now, and after like thirty books, tons of online tutorials, several personal projects, work for a "real" game, and an internship at Adobe Systems in San Jose, California this summer, I still consider myself inexperienced. My abilities are largely exclusive to graphics and game development leaving plenty of holes in my programming knowledge, such that areas like web development, database programming, and anything involving Linux or Mac leave me clueless. The way I see it, being cocky plateaus me at my current skill level. If I'm unwilling to take advice from more experienced professionals, and not open to any constructive input, how will I improve? Frankly, that's lame. I love finding someone more experienced than me who will mentor me, and even those who aren't necessarily more experienced than me can still have valuable input that I haven't considered. Everyone's experience is different.