<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div>Hello guys, <br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;">I am Hotea Cristian, a third year student at Polytechnic University of Bucharest, Computer Science Department. Some of you knows me from #scummvm(user: Cristian_H). I am passionate about games and graphics. I have a good knowledge of C/C++, data structures, algorithms, bitwise operations. <br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0);
font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"> At the university i studied the graphics class where i learned things about graphics pipeline(programmable and non-programmable), the models of colors representation (RGB,CMY,HSL,HSV), algorithms used for clipping and rasterisation, transparency, and many other things. All of this was presented relative to OpenGL so the practic applications <br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;">was designed using OpenGL.<br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent;
font-style: normal;">Besides my classes on the university, i applied in the past semester on a Workshop held by Gameloft Bucharest and i was accepted. During the workshop i wrote a 3D-Engine in C++ using</div><div class="yui_3_7_2_19_1366195673248_327" style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;">OpenGL ES 2.0. The Engine was designed using Singleton pattern, with Resource Manager, Scene Manager and Effects Manager. I wrote some shaders (for water, fire, reflection, lights, etc.). If you want to see my project: <a href="https://github.com/hoteacristi/Workshop">https://github.com/hoteacristi/Workshop</a> . There are already loaded some shaders on the models, you have to download and build the project with Microsoft Visual Studio/C(i used 2008) and you can explore the scene using keys specified in README.</div><div class="yui_3_7_2_19_1366195673248_327"
style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><br></div><div class="yui_3_7_2_19_1366195673248_327" style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;">Enough about me, I am interested in your project: "Hardware accelerated blitting" and i want to know more about it. I know that hardware acceleration means to execute some functions/instructions faster using hardware instead of software. About blitting now, i read that blitting means manipulation of a pattern(a square/rectangle zone) by reproducing it many times on the screen without modify zones beside the Hardware-sprite. Hardware-sprites have the advantage being stored in separate memory and they don't disturb the main display memory.So the difference between Hardware-Sprites and blitting is that blitting
suppose moving the patterns about the screen by using the same memory as the display uses.</div><div class="yui_3_7_2_19_1366195673248_327" style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;">The main idea is that the out-color must be something like this: ((Background) AND (Mask)) OR (Sprite).And that using a mask with 0,1. So, the operation (Background) AND (Mask)</div><div class="yui_3_7_2_19_1366195673248_327" style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;">will erase the actual color of the BACKGROUND or will keep it unchanged. This approach can not be used for patterns or backgrounds who have the alpha component less than 1.0 .<br></div><div class="yui_3_7_2_19_1366195673248_327" style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new
roman,new york,times,serif; background-color: transparent; font-style: normal;"><br></div><div class="yui_3_7_2_19_1366195673248_327" style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;">The task of the project is to write an API for hardware acceleration.An API is an interface between software components and in this case between your engines and OpenGL,OpenGL ES . You said " for fast alpha (transparency) blitting, rotation, scaling, etc ". If i understood correctly i have to work with <span style="font-weight: bold;">"</span><span>alpha compositing" / "alpha blending" for alpha blitting. And for rotation and scaling i have to use that approach for optimising the computing </span><span class="tab">of the 2d-scene ? </span></div><div class="yui_3_7_2_19_1366195673248_327" style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new
york,times,serif; background-color: transparent; font-style: normal;"><br></div><div class="yui_3_7_2_19_1366195673248_327" style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;">I hope my post is not very silly :).</div><div class="yui_3_7_2_19_1366195673248_327" style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><br></div><div class="yui_3_7_2_19_1366195673248_327" style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><span id="result_box" class="short_text" lang="en"><span class="hps"><span class="postbody">I look forward to reading </span>your opinions and suggestions.<br></span></span></div><div class="yui_3_7_2_19_1366195673248_327" style="color: rgb(0, 0, 0);
font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;">Thank you,</div><div class="yui_3_7_2_19_1366195673248_327" style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;">Hotea Cristian<br></div><div class="yui_3_7_2_19_1366195673248_327" style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><br></div></div></body></html>