전체 글 164

(07.20)normal mapping_셰이더를 이용한 맵핑

맵핑(mapping) 내가 만든 물체에 재질을 입히는것. 맵을 입체적으로 보이게 할수도 있다. bump mapping texture로 구글링하면 이렇게 두장씩 뜬다. 일단 보통때 texture입히는 것처럼 재질을 드래그해서 입혀준후, shader->Legacy Shader->Bumped Specular를 선택하면 아래와 같은 창이 뜬다. 오른쪽 두칸으로 각각의 이미지를 넣어주면 끝.

[자료구조]배열과 문자열 (1.1~1.3)

1.1 문자열에 포함된 문자들이 전부 유일한지를 검사하는 알고리즘을 구현하라.다른 자료구조를 사용할 수 없는 상황이라면 어떻게 하겠는가? 먼저 ASCII문자열인지 유니코드 문자열인지 알아야한다.간단하게 ASCII문자열이라고 가정하고 문제 풀이 시작.최적화 방안은 문자열의 길이가 문자 집합크기보다 클 경우 바로 false를 반환하는 것이다.가능한 문자가 256가지밖에 없는데 주어진 문자열의 길이가 280이면, 중복이 존재한다는 거니까. -이하 java 방법1. Boolean값을 갖는 배열을 만든다. *Boolean: 참, 거짓 자체로 저장이 가능한 데이터.charAt: 문자열에서 지정된 위치에 존재하는 문자를 찾아 반환하는 함수.ex) "문자열".charAt(문자위치)1234567891011public b..

[자료구조]배열,구조체,포인터_오답

3.float a[100]으로 선언된 배열의 시작 주소를 1000번지라고 할때, 배열의 10번째 요소의 주소는 몇 번지인가?: 1040번지 4.구조체의 배열이 가능하다.구조체 변수에 대하여 비교연산이나 산술 연산은 할수 없다.구조체 안에 배열을 넣을 수 있다.서로 다른 데이터 형도 묶을 수 있다. 12.struct {int fa; int fb;} a; *p=&a; 라고 할때 fa를 수정하는 문장으로 맞는 것은?(*p).fa = 10;p[0].fa = 10; 17.다음과 같이 정의된 배열의 10번째 요소의 주소는? 단 배열의 시작 주소는 1000번지로 한다.char a[100] 1100short b[100] 1200int c[10]] 1400float d[100] 1400 21 .i가 정수 변수이고 p와 ..

[자료구조]순환_오답

1.팩토리얼을 계산하는 순환호출 함수 factorial 에서 매개 변수로 5를 주었다면 최대 몇 개의 factorial함수의 활성 레코드가 동시에 존재할 수 있는가?: 최대 5개의 활성 레코드가 존재할 수 있다. 2.순환 호출을 하였을 경우 활성 레코드들은 스택에 저장된다.하나의 함수가 호출할 수 있는 순환 호출의 개수는 스택이 허용하는 한도까지 다. 3. 활성레코드에 저장되는 것은 매개변수의 값, 함수 호출이 끝나고 복귀할 주소, 지역변수이다. 4. 순환호출이 가능한 언어는 C, Pascal, Java언어 이다. 14. 다음을 계산하는 순환적인 프로그램을 작성하라.1+2+3+...+n 1234int sum(int n){ if(n==1) return 1; else return (n+sum(n-1));}c..

0217

자료구조 한답시고 언리얼 기초도 못끝내서 오늘 조금 해봤다. 유니티랑 다르게 기본 템플릿들이 있는게 신기. 이만큼하려면 일일히 만들어야하는데. Go~~lden Ball. 때탄금색 메터리얼도 적용해보고. 아바타도 추가해보고. UCLASS() 매크로: 기본적으로 C++코드 클래스를 UE4에디터에서 사용할 수 있게 해준다. GENERATED_UCLASS_BODY() 매크로: UE4가 클래스 함수를 UE4 클래스처럼 만들기 위해 필요한 코드를 복사하여 붙여넣는다. 하고 탕슉먹으러.

[자료구조]04.연결리스트_2

01. SetSortRule 함수: 정렬기준이 되는 함수를 등록 comp: SetSortRule함수를 통해 전달된 함수정보 저장을 위한 linkedlist의 멤버 SInsert 함수: comp에 등록된 정렬기준을 근거로 데이터를 저장한다. = SetSortRule함수가 호출되면서 정렬의 기준이 리스트의 멤버 comp에 등록되면, SInsert함수 내에서는 comp에 등록된 정렬의 기준을 근거로 데이터를 정렬하여 저장한다. 02. SInsert: 중간에 노드를 삽입 1 2 3 4 5 void SInsert(List *plist, LData data){ Node *newnode = (Node*)malloc(sizeof(Node)); Node *pred = plist->head; newnode->data = ..