-

An Easy Approach to Trim Sheet
What is Trim Sheet? Pack different texture inside to one texture. Use it for different assets. Why we should use them? How? I use a simple and fast solution for my work. If you need to more advance solution: https://www.artstation.com/blogs/jennifermcgarry/yd4Q/jenns-guide-to-trim-sheets 1. Define your assets What do you need? What will you do? Thinking about it…
-

Making Stylized Wall Texture in Substance Painter
I made some tillable textures on SP and I want to share the method which I use. Preliminary Example 1: Brick Wall Tip 1: Give attention to scale of the noise. It could be break the flow of the texture Example 2: Vinyl siding Tip 2: Make uniform/balanced texture. Avoid unique things.
-

-
Clean Code
Clean Code Temiz kodun özellikleri: Technical Debt Teknik borç, daha sonra hallederiz diye karman çorman yazılan koddur. Bir bankadan borç aldığımızda ana parayla beraber faizini de öderiz. Eğer çok fazla borç alırsak ödediğimiz faiz gelirimizi aşar ve artık borcumuzu hiç kapatamayacak hale geliriz. Aynı şekilde yazdığımız karman çorman kodlar bizlere yarın yol, su elektrik şeklinde…
-

Static cast ile reinterpret cast arasındaki fark
https://stackoverflow.com/questions/573294/when-to-use-reinterpret-cast The short answer: If you don’t know what reinterpret_cast stands for, don’t use it. If you will need it in the future, you will know. Full answer: Let’s consider basic number types. When you convert for example int(12) to float (12.0f) your processor needs to invoke some calculations as both numbers have different bit representation. This is what static_cast stands for. On the…
-
Graphics pipeline
A bunch of programs that connected each other in order to created graphics from vertices. Some of that programs can be programmable -we call those programs as shader-. Input assembler Create geometric primitives – like point, line, triangle – from vertices. Vertex shader Define position of vertices -and also can manipulate other vertex data-. Why…
-
Game Art – Tips & Tricks
Design is not about put random object to scene; it is about showing the story behind the scene. Ahmad’s room not equal to Michael’s room because their lives are different. There could be a lot of difference between to room We must to show these differences by details BUT too much detail is harder to…
-
WD 001 – HTML Giriş
HTML Nedir? Hiper Metin İşaretleme Dili (HTML, İngilizce HyperText Markup Language kelimelerinin baş harflerinin kısaltılmasıdır) web sayfalarını oluşturmak için kullanılan standart metin işaretleme dilidir. Dilin son sürümü HTML5’tir. HTML, bir programlama dili olarak tanımlanamaz. Çünkü HTML kodlarıyla kendi başına çalışan bir program yazılamaz. Fakat bu dili yorumlayabilen programlar aracılığıyla çalışabilen programlar yazılabilir. Programlama dili denilememesinin…
-

Containers
Standard Library Array Vector https://stackoverflow.com/questions/200384/what-is-constant-amortized-time Forward List tek taraflı linked list https://nitishhsinghhh.medium.com/introduction-to-forward-list-in-c-stl-and-important-functions-217fd4d0af59 List double linked list https://hackingcpp.com/cpp/std/sequence_containers.html https://hackingcpp.com/cpp/std/associative_containers.html List Operations Deque Tree Data Structure Sets Map Maps and Insertion Maps in C++17 Multiset and Multimap Searching Multimap Unordered Associative Containers Associative Containers and Custom Types Nested Maps Queues Priority Queues Stack Emplacement Mastermind Game Practical
-

Git – 101
Git bir VCS(Version Control System)’dir. Nedir bu versiyon kontrol. En kaba tabirle oyunlardaki save mekanizması bir versiyon kontroldür. Belli bir noktaya geliriz, save ederiz sonra oynamaya devam edip yine save ederiz. Beğenmezsek daha önce yaptığımız save’e geri dönebiliyoruz. Git’te de benzer bir mantık var. Bir program yazıyoruz. Dark mode ekledik, sonra patron gelip şuanlık bunu…
-

Algorithms & Lambda Expressions
Algorithms Overview En çok kullanılan bir takım algoritmalar STL kütüphanesinde bulunmaktadır. Bunlar iyi implemente ve test edilmiş algoritmalar olup hali hazırda kullandığımız container’larla da uyumludur. Algorithms with Predicates A predicate is a C++ function returning a boolean or an object having a bool operator() member. A unary predicate takes one argument, a binary takes two, and so…
-

OpenGL 101
En kaba tabirle OpenGL; nokta, çizgi ve yüzey çizip bunu renklendirmenize olanak tanıyan bir API’dir. Başka bir deyişle GPU’yu kullanabilmemiz için sunulmuş bir arayüzdür. Bu arayüzü kullanabilmemiz için grafik kartı üreticisinin (veya başka bir kişinin), driver yazıp OpenGL’in bize sunmuş olduğu fonksiyonların kodlaması gerekmektedir. Göreceğiniz üzere OpenGL aynı zamanda bir “specification” yani tanımlamadır. Khronos grup…
-

Special Member Functions and Operator Overloading
Constructor Objenin oluşturulma aşamasında çalışan ve gerekli atamalarla işlemleri yapan fonksiyondur. Sınıfın member variable’larına constructor içerisinde ilk değer ataması yapılır. C++ 11 den itibaren ilk değer atamısını constructor kullanmadan yapabiliriz: Constructor delegation Bir constructor’den başka bir constructor’ı çağırıp kod tekrarını minimize etmek amaçlanır. Constructor types Copy Constructor Var olan bir nesneden başka bir nesneyi initialize…
-

Files and Streams
File Stream Streams and Buffering C++’da stream’ler buffering yapar. Bunun temel amacı sistem çağrılarını minimize etmektir. Yazma operasyonlarında veri, bellekteki buffer’a yazılır. Buffer dolduğunda ise veri işletim sistemine gönderilir. Bu duruma “flushing” denilir. Ne zaman flush yapılır? manual olarak flush yapabiliriz: endl equivalent of “\n” << flush Unbuffered Input and Output File Modes ios::inOpen for…
-

Strings
Basic String Operations substr() Returns a newly constructed string object with its value initialized to a copy of a substring of this object. [1] Constructors Searching Strings find & rfind Bir string içerisinde aranması istenilen karakter veya string’in indeksini döndürür. Eğer aranan şey string içerisinde yoksa std::string::npos döndürür. rfind, find gibi çalışır. Tek farkı sondan başa doğru…
-

Animation 101
Keyboard shortcuts Numpad Graph Editor Motion Paths Lattice Animall Allows animation of mesh, lattice, curve and surface data. Vertex vb. şeylere key atamamıza olanak tanır. Follow Path Bir objenin bir eğriyi takip etmesini sağlar
