Hossein Noroozpour

Email:
hossein.noroozpour@gmail.com
Phone:
+98-920-301-9295
Skype:
hossein-noroozpour

Education

2009 – 2014
BS in Software Engineering, Amirkabir University of Technology – Tehran, Iran
2009 – 2005
High school Diploma in Math, Allameh Helli of tehran of National Organization of Development of Exceptional Talents – Tehran, Iran

Professional Experience

2017 – now
Founder of Gearoenix software (C++, Rust, Vulkan, OpenGL, Qt, Python, Blender)
2015 – 2016
Software Developer of a 3D printer editor software (C++, Go, Qt, OpenGL)
2013 – 2017
Sole Software Developer of an in-house cross-platform 3d game engine (C++, OpenGL, Qt)
2012 – 2013
Software Developer and 3D Artist in a 3d casual puzzle game named Rolling Lazies. (C#, Unity3D, Blender, PHP)
2014 – 2015
Software Developer and 3D Artist in an online game Farm Thief. (C#, Unity3D, Blender, Python)

SKills

Programming Languages:
C++14, C11, Python, Rust, Go, Bash, C#, Java, Javascript, SQL, Oracle PL, GLSL, ...
Development Tools:
QtCreator, Vim, Android Studio, Atom, XCode, Visual Studio, Unity3D, ...
Version controls:
Git, mercurial, SVN
Make tools:
Make, CMake, QMake, custom build tools with bash
Debugging tools:
GDB, Valgrind, ...
API/Library/Framework:
STL, NDK, Qt4/Qt5, Boost, Asio, POCO, Windows API, OpenGL(3.3/4/es2/es3), Vulkan, Directx11, OpenSL, OpenAL, zlib. Pnglib, GLFW(2/3), GLEW, FMOD, Ogg, Vorbis, Gtk(+2/+3/mm3), Blender API, ...
Graphic Programming:
shader programming in GLSL(3.3/4.3/ES2/ES3), 3D graphic pipeline (OpenGL, Vulkan), Phong tessellation, Phong illumination, UV texturing, procedural texturing, render to texture, Solid lighting, dynamic lighting, GPU occlusion query, deferred shading, sampling, direct light shadow, point light shadow, real time shadow, lighting effects, environment mapping.
Math/Algorithm/Physics:
Collision detection, AABBoxing, OcTree, KDTree, dynamics, Bezier interpolation, ray tracing (Box/Sphere/Triangle/Mesh). Occlusion Culling on CPU, Transparency ordering, state change minimizing, Mesh generation, Monte Carlo ray tracing
Paradigms:
Thread programming, Socket programming, Client-Server, Security, Debugging, Performance Analyzing, Cross platform programming, Design patterns, OO, Safe programming, Memory management
Methodologies:
Agile, Scrum, ...
Others:
Blender, GIMP, Inkscape, LMMS, photoshop, ...

More details

I began to learn programming at high school(~2006) because of my passion for games. I started my programmer career in 2011, at the first I was a self employed programmer and mostly I was freelancing, till in late 2012 I joined a game developer group. After 1 year we started our own studio, and I was cofounder in it for 2 years. We shipped two titles: 1- Rolling Lazies, 2- Farm Thief. After Farm Thief, We suspended the studio (at the time, its name was HexyPixel). After that I was employed (contract based) by AEC as a graphic programmer in their 3D printing section. I worked there a year and after the project finished, I went to another company because of financial stuff. But meanwhile of all aforementioned, I've always pursued my passion, that is nothing but creating game and learning its related technologies.