본문 바로가기

C++22

[C++] New Concepts (ENG) Bool Data if (IsHero() == false) { // ... } if (IsHero() == true) { // ... } Reference Alias. Can not be NULL. Must be initialized when declared. int number = 100; int& reference = number; Can not change what refer to. int number1 = 100; int number2 = 200; int& reference = number1; reference = number2; // number1 == 200, number2 == 200, reference == 200 Reference as a parameter: // pointer void .. 2021. 12. 5.
[C++] Input (ENG) Input Stream scanf has the input problem cause it doesn't do the boundary check, so does cin. For more security: char name[4]; cin >> setw(4) >> name; 0 1 2 3 H W I \0 Stream States Old (C): if (fgets(line, 10, stdin) != NULL) { // ... } New: cin >> line; if (!cin.eof()) { // ... } Istream states - namespace : ios_base - bit flag : goodbit, eofbit, failbit, badbit - method : good(), eof(), fail(.. 2021. 12. 5.
[C++] Output (ENG) "Hello World" std::cout 2021. 12. 5.
[그래픽스] Shader (쉐이더) * Computer Graphics Programming in OpenGL with C++ 책을 참고하였습니다. * 책을 번역한 것이 아닌, 제가 독학 후 책을 참고하여 설명하는 게시물입니다. 따라서 책에 없는 부연 설명이 있기도 하며, 의역 또는 오역, 오개념이 있을 수 있습니다. 피드백은 댓글을 남겨주세요. ​ ​ 앞서 작성한 프로그램에서는 그저 한 가지 색으로 color 버퍼를 채웠습니다. 무언가를 실제로 그리기 위해서는 vertex shader (정점 쉐이더), fragment shader (pixel shader, 조각 쉐이더, 필셀 쉐이더) 가 필요합니다. OpenGL은 사실 선, 점, 삼각형과 같이 간단한 것들밖에 그리지 못합니다. 이러한 기본 요소들을 primitive라고 부릅니다. 보통 .. 2020. 6. 4.