분류 전체보기

전자기기 주저리/음향기기 리뷰

< 엠지텍 > [24년형]락클래식 Q9900 1000W 6.2채널 블루투스 스피커 사운드바 간단 리뷰

간단하게 영화나 음감을 하면서 사용할 사운드바를 찾던 중 찾은 엠지텍의 거대 6.2채널 사운드바 입니다. 엠지텍 관련해서는 길게 쓸거 없이 가성비가 굉장히 좋은 브랜드로 유명한데 요즘은 살짝 중간 포지션의 브랜드로 인지도를 쌓고있는듯 합니다. 우선 장점 먼저 나열해 보겠습니다. 장점락킹한 엠지텍의 소리특성으로 인해 영화 만화 등의 영상매체를 볼때 굉장히 몰입감이 좋습니다. 전체적으로 저음은 부스트되고 고음은 선명하게 뽑아주기 때문에 다양한 장르의 영상물을 소비하기에 적합합니다.물리적으로 분리된 6.2 채널에서 나오는 음 분리감은 정말 탁월합니다. 가상 채널등과 비교할 수 없습니다.블루투스 기능을 이용한 확장성으로 eArc 등의 단자로 티비와 연결하는 것 뿐만 아니라 단순히 티비를 키지 않고 음악을 듣고 ..

유니티 엔진 클라이언트/개인공부

텍스쳐 - 쉐이더 코드 정리

쉐이더 코드 정리 시작하기에 앞서 쉐이더 surf 함수 내의 필요없는 부분은 제거 해준다. 텍스쳐 입 출력에 필요 없는 부분일 뿐이니 참고. 1. surf 함수 내의 필요 없는 부분 제거 o.Metallic , o.Smoothness 부분을 제거 o.Metallic 의 경우 기본 default 값이 0 이었기 때문에 큰 변화는 없다. o.Smoothness 의 경우 default 값이 0.5 였기 때문에 표면이 좀 더 거칠어 진 것을 확인할 수 있다. 추가적으로 default로 적혀있는 주석 부분도 제거. 함수 내의 _Color 프로퍼티 부분도 제거 하여 텍스쳐가 색상의 영향을 받지 않도록 한다. surf 함수 전문 2. surf 함수 외부의 필요 없는 부분 제거 여기서 pragma target의 경우 ..

게임 수학/개인공부

게임수학 - 삼각함수

삼각형 삼각형은 세 개의 정점(꼭지점 혹은 Vertex) 으로 이루어진다. 정점으로 세 개의 변(edge)이 정해진다. 삼각형의 세변중 두 개의 변이 이루는 각을 내각(interior angle) 이라고 한다. 세 개의 내각의 합은 항상 180도 이다. 삼각형은 항상 어딘가의 평면 위에 존재한다. 직각삼각형 삼각함수에서 다루는 삼각형 이다. 세개의 정점부분의 내각 중 하나가 직각(90도)을 이룬다. 비스듬한 변을 빗변(hypotenuse), 바닥에 있는 것을 밑변(adjacent), 남은 변을 높이(opposite) 라고 한다. 세변의 길이와 빗변과 밑변이 이루는 내각의 각도인 θ(세타, theta) 사이의 관계를 이용해 빗변과 세타가 주어졌을때 다른 두 변의 길이를 산출하는 것이 삼각함수의 가장 기본적..

게임 그래픽 프로그래밍/개인공부

서피스 쉐이더 - 외부의 입력값 출력

쉐이더 외부 입력값 출력 1. 프로퍼티, 전역변수 선언 및 값 할당 Properties { _Color ("Color", Color) = (1,1,1,1) _MainTex ("Albedo (RGB)", 2D) = "white" {} _Glossiness ("Smoothness", Range(0,1)) = 0.5 _Metallic ("Metallic", Range(0,1)) = 0.0 // 추가된 프로퍼티 _TestColor ("Test Color" , Color) = (1,1,1,1) } 테스트용 프로퍼티 선언 시 초기화 값은 4자리 숫자 = float4 타입의 크기 = float4 Properties 블록 안에 선언. 프로퍼티 초기화 후 동일한 이름과 타입을 가진 전역 변수를 함수 외부에 선언 CGPR..

CS/CS 정리

[CS] GC (Garbage Collection)에 대해

GC (Garbage Collection) 1. GC의 정의 쓰레기 수집(garbage collection 가비지 컬렉션, GC)은 메모리 관리 기법 중의 하나로, 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게 된 영역을 해제하는 기능이다. (중략) 1959년 무렵 리스프의 문제를 해결하기 위해 존 매카시가 개발하였다. 더 이상 사용할 수 없게 된 영역이란, 어떤 변수도 가리키지 않게 된 영역을 의미한다. = 참조하지 않게된 영역 - 출처 : 위키백과 2. 장단점 장점 프로그래머가 동적으로 할당한 메모리 영역의 전체를 완벽하게 관리할 필요가 없어진다. 이미 메모리에서 해제된 유효하지 않은 포인터에 대한 접근을 막을수 있다. 이미 해제된 메모리를 또다시 해제하는 일을 막을 수 있다. (이중 해제..

게임 그래픽 프로그래밍/개인공부

서피스 쉐이더 - 변수 활용

쉐이더에서의 변수 변수명시작은 영어, 숫자로 시작하면 안된다.(첫글자 외에는 ok). 변수명은 공백, 특수문자, 한글사용 불가.('_' 예외) 변수명 중복 허용 안됨. 대소문자를 구별하니 변수명 선언시 주의. 1. 변수 선언 void surf (Input IN, inout SurfaceOutputStandard o) { // 변수선언 //float4 test; // 변수 초기화 float4 test = float4(1,0,0,1); // 변수 할당 // float4 이지만 r,g,b float3 값만 적용 o.Albedo = test; // float4 변수의 float3 값만을 할당 o.Albedo = test.rgb; } 2. RGB 순서 변경 선언한 변수의 부분값을 바꾼뒤 할당해주는 것이 가능하다...

CS/CS 정리

[CS] 디자인 패턴 간단 정리

디자인패턴 (Design Pattern) 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계를 이용하여 해결할 수 있도록 하나의 "규약" 형태로 만들어 놓은 것을 의미 쉽게 말해 지금까지 프로그래밍을 하던 사람들이 이런 상황에서는 ~~ 한 패턴을 쓰는 게 좋더라 식으로 먼저 깨닫고 정립하여 후대들에게 추천하는 일종의 방법론이기도 하다. 1. 싱글톤 패턴 (Singleton Pattern) 하나의 클래스에 오직 하나의 인스턴스만을 가지는(보장하는) 패턴 보통 데이터 베이스 연결 모듈에 많이 사용한다. 단점으로는 하나의 인스턴스만 보기 때문에 의존성이 높아진다. 이 단점의 해결방법중 하나는 의존성 주입(DI, Dependency Injection)이다. 이는 메인 모듈 (싱글톤 클래스)에서 직접 ..

CS/CS 정리

[CS] OOP의 4가지 특징 간당 정리

객체지향 프로그래밍 (Object Oriented Programming) 객체 지향 프로그래밍(OOP)은 소프트웨어 개발 패러다임 중 하나. 코드를 객체라는 단위로 구조화하여 개발하는 방식. OOP의 네 가지 주요 특징은 캡슐화(Encapsulation), 상속(Inheritance), 다형성(Polymorphism), 추상화(Abstraction). 1. 캡슐화(Encapsulation) 캡슐화는 데이터와 해당 데이터를 처리하는 메서드를 하나의 단위로 묶는 것. 객체 내부의 상세한 동작을 감추고 외부에서는 해당 객체의 함수 또는 인터페이스로만 접근할 수 있도록 하는 것을 의미한다. 객체간의 결합도를 감소시키고 응집도를 강화하는데 기여할수 있다 = 유지보수가 편리해진다. 예시 public class Ca..

게임 그래픽 프로그래밍/개인공부

서피스 쉐이더 - 쉐이더 구조 및색상 출력

쉐이더 구조 1. CGPROGRAM영역 CGPROGRAM ~ ENDCG 부분은 유니티 자체 스크립트가 아닌 CG언어가 사용된다. 전처리 영역 (스니핏 snipet) 이라고도 부른다 쉐이더의 조명계산 설정, 기타 세부적인 분기를 정해주는 부분 인풋 구조체 Input Structure 구조체로 엔진으로 부터 받아와야 할 데이터 들이 들어간다. Surf 함수 함수 영역으로 색상이나 이미지가 출력되는 부분이다. 2. 색상 출력 출력은 Surf 함수 내에 작성 함수에 대한 세부 설명은 이미지를 참조 인자로 받는 SurfaceOutputStandard 구조체의 경우 쉐이더 파일 내부에서 확인이 불가하며 유니티 내부 include 파일에 정의되어있다 타입중 Half의 경우 float의 절반크기이며 그보다 더 작은 f..

게임 그래픽 프로그래밍/개인공부

서피스 쉐이더 - 쉐이더 Properties

쉐이더 이름 및 트리구조 변경 1. 쉐이더의 최 상단 시작 부분을 변경하는 것으로 쉐이더 트리 구조 및 이름 변경이 가능 Alan/TestShader 이름 변경 후 저장그 외에도 더 깊은 트리구조로 생성도 가능하다. (예 : Alan/Test/TestShader)다만 이렇게 수정하여도 스크립트와 마찬가지로 유니티 Project 창에서의 명칭은 변경되지 않으니 주의 쉐이더 ProPerties 1. 쉐이더의 Properties 영역 쉐이더의 프로퍼티 영역에서는 세미콜론(;)은 사용되지 않는다. 다만 다음에 나올 SubShader 영역에서는 사용되니 주의 2. 쉐이더 Propertie 추가 및 특징 특징 쉐이더 프로퍼티들은 C# 스크립트의 프로퍼티 혹은 전역변수들과 동일하게 초기화도 가능하다. C# 스크립트와..

Bueong_E
'분류 전체보기' 카테고리의 글 목록