"Well, if crime fighters fight crime and fire fighters fight fire, what do freedom fighters fight? They never mention that part to us, do they?"
- George Carlin
More pages: 1 ... 11 ... 21 ... 31 ... 41 ... 51 ... 61 62 63 64 65 66 67 68 69 70 71 ... 81 ... 91 ... 101 ... 111 ... 121 ... 131 ... 141 ... 151 ... 161 ... 171 ... 181 ... 191 ... 201 ... 211 ... 221 ... 231 ... 241 ... 251 ... 261 ... 271 ... 281 ... 291 ... 301 ... 311 ... 321 ... 331 ... 341 ... 351 ... 361 ... 365
Query Failedvince
Saturday, May 29, 2010

EDRAM truly is a pain - certainly my least favorite thing about the 360 (the relatively small amount of L2 for 3 cores might be #2).

One option is just not to do MSAA and do anti aliasing in a post process. If you're using floating point render targets for any given stage this may be the better option on the PS3 and D3D9 anyway (for those of us still stuck supporting D3D9).

If you go this route a lot of other things become simpler -- for example you can do a depth prepass, keep a full depth buffer in EDRAM at all times, but do tiling for just your color targets, which can be useful if you need MRTs for a g-buffer, for example.

fmoreira
Saturday, May 22, 2010

probably the most famous sprite ever made xD

Josh -yosh64
Saturday, May 22, 2010

Reavenk has beat me to it, I was actually up very late into the morning last night (I'm from Australia) when I logged onto Google and to my surprise there was Pacman. Played a few games and was quite fun, was actually wondering what it was all about and now I know .

Reavenk
Saturday, May 22, 2010

Agh! I can't beleive you didn't make a reference to Google's doodle of the day. It's a pacman level that spells Google, that you can actually play! It's got cutscenes and everything.

rebb
Friday, May 21, 2010

Your other project was growing an extra set of hands ?

Well done !

Oh wait.. Congrats

Aslan Dzodzikov
Monday, May 17, 2010

Just a test result for StringHash:

void PrintHash(const StringHash& _hash)
{
printf( "%x", (unsigned)_hash );
}

PrintHash("Creating Device! Just a test for StringHash";

compiles to:
lea eax, DWORD PTR $T107665[esp+684]
push edi
push eax
mov DWORD PTR $T107665[esp+692], 1584422291 ; 5e705d93H
call ?PrintHash@@YAXABVStringHash@@@Z ; PrintHash
add esp, 4

Under MSVC 2008 SP1

Aslan Dzodzikov
Friday, May 14, 2010

And now the final, more compact version:

class StringHash
{
unsigned m_val;

template<size_t N> unsigned _Hash(const char (&str)[N])
{
typedef const char (&truncated_str)[N-1];
return str[N-1] + 65599 * _Hash((truncated_str)str);
}
unsigned _Hash(const char (&str)[2]) { return str[1] + 65599 * str[0]; }

public:
template <size_t N> StringHash(const char (&str)[N]) { m_val = _Hash(str); }
operator unsigned() { return m_val; }
};

I apologize for multiple, redundant posts.

Aslan Dzodzikov
Friday, May 14, 2010

Sorry, the previous post contained 1 bug. Here is corrected code:

namespace StringHashHelper
{
template<size_t N>
inline unsigned _Hash(const char (&str)[N])
{
typedef const char (&truncated_str)[N-1];
return str[N-1] + 65599 * _Hash<N-1>((truncated_str)str);
}

template<>
inline unsigned _Hash<1>(const char (&str)[1])
{
return str[0];
}
};

class StringHash
{
unsigned m_val;

public:
template <size_t N>
StringHash(const char (&str)[N])
{
m_val = StringHashHelper::_Hash(str);
}

operator unsigned() { return m_val; }
};

StringHash a = "a", ab = "ab";

More pages: 1 ... 11 ... 21 ... 31 ... 41 ... 51 ... 61 62 63 64 65 66 67 68 69 70 71 ... 81 ... 91 ... 101 ... 111 ... 121 ... 131 ... 141 ... 151 ... 161 ... 171 ... 181 ... 191 ... 201 ... 211 ... 221 ... 231 ... 241 ... 251 ... 261 ... 271 ... 281 ... 291 ... 301 ... 311 ... 321 ... 331 ... 341 ... 351 ... 361 ... 365