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 Failed
vince
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