@Deraynger: About XNA, its mainly C# for cross-platform, but have lots of native code too due XBOX/PC optimization, most of the helper library in the DirectX SDK falls into the xna namespace
OpenGL ES are a subset of OpenGL 2.1, in 2.1 the BGR textures turned in core but for ES I think they are optional. Anyway, you can run a pixel shader for swap the bits positions, there are many ways to do it. But if the texture is small (lets say, a square tile of 64 or 128 pixels) it can be done in host memory with little impact in the performance.
I had to say I'm watching all the awesome videos here on Going Deep for the same reason as you, to better learn STL and use its power in better code
@Deraynger: Well, part of your questions are better fit on the XNA Blog team or use the Ch9 forums. I've opened a thread for use SSE align with std::unique_ptr and std::array (the two play nice with _aligned_malloc), I could expand the forum with stuff you want like the load of textures (pretty easy with WIC) or you can open a new thread and I'll be happy share my experiments with you.
In case of BGR and RGB its a old case of endianness, you need see if OpenGL (or DirectX) provide support for both in hardware (extensions string), if don't have support you only way is switch the positions in host memory or in device memory (gpgpu).
@Thomas Petit: Thats one of the motives people want the boot::iostreams on next C++. Mapped files are part of any POSIX-compliant system, and provides its benefits and drawbacks on accessing file I/O. It is recommended for big files, for huge chunks of data in and out and for sequential access, it can cause excessive page faults if used too frequently and randomly. In the case of Stephan, conventional file manger should be suffice (unless he intentionally use mmap for show it like you suggest )
The first time I was teaching was Operating Systems, some years ago. Good times. I have heard some stuff about Microsoft research on experimental OS that uses a sort of C#, it's good know now what it is and how it works. My old friend, who teaches Compilers will be interested in this video.
@Charles: More good people to the friends list to make videos! Thank Hawblitzel and Chen and for us.
@Mr Crash: well, smooth stream works perfectly, I've tested it on other sites and video sources and it works perfectly. Here on Ch9 what I see is a huge limitation on their bandwidth (by the huge success of newly videos).
What I've tested is watch the same video on weirdo hours (for that I can take advantage in be -8hours diff-time from the servers) make it plays nice and hi-res, any video. But on peak hours or when Ch9 throws many cool videos at once (this week have had 5 videos , 3 on same day) their bandwidth suffers a lot and the load balancing down everyone to floor.
I know how this type of constraint is frustrating, believe me, I've worked with video conferencing and e-learning (video and audio part) for 5 years and I know how any hiccup are unpleasant, but its a limitation of their bandwidth or any of the hops that carry the video stream until reach you (some companies are having the bad habit of throttling speed after detecting torrent and video stream headers, or when some IP source is "abusing" their bandwidth)
Please lets make effort for Channel9 get more bandwidth instead of flaming the silverlight, wicht is working very well while webSockets is not ready
Great vídeo. I'm excited with the next talks on gpgpu on C&B, in special I'm looking for better support in the language for aligned data. Today FDIS only have a shy proposition of only one function for pointer alignment ([20.6.5] Align).
When you come with dealing with special case co-processor, like the gpu, its handfull have means to handle the data in and out without the need for more specific/dependant compiler stuff (at least, C++ can hide those stuff with a nice abstraction layer). It'll be more nice if you think about today and next GPU are now comming with unified memory addressing making all system and GPUs memories contigous.
@Deraynger: I think he means "correct" in therms of 'correctness' with latest working draft (he mentions something about draft on video, but i need watch it again many times, English is not my primary language), the SP1 meant for 'other' leak I suppose.
The post Madrid working draft is n3291
Nice video, its always nice know more about containers and its internal implementation, Stephan get a hard corner case too, string literals always a hard to explain in classroom
Nice coincidence, I was reading a short text from Giovanni Dicanio about SCL to gain performance but lost protection.
Thanks again Stephan come with a razor sharp explanation, and plus insight of new IDL. The 'undocumented' feature that text out structure are very nice, my students (and I included) will like have fun visual info when I ask then to deal with command prompt only
Pardon my ignorance, but the source code still compare pointers to 0 (zero), its not the case to use nullptr?