MeshRenderer에 구현되어서 각 GameObject마다 한개씩 가지고 있던 TransformBuffer를 RenderManager로 옮기면서 모든 GameObject에 한개의 TransformBuffer를 사용한다고 하셨습니다. 질문은 "모든 GameObject에 TransformBuffer를 하나만 사용하면 TransformData가 중간에 곂쳐서 지워지거나 하진 않는가?" 입니다. 제가 생각해봤을때 모든 Renderable GameObject 하나하나마다 for문을 통해 지금 GameObject가 이미 렌더링 되고 다음 GameObject로 넘어가므로 이전 GameObject를 그리기 위해 사용한 ConstantBuffer의 내용을 갱신해도 괜찮다고 생각되는데 제 생각이 맞나요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의 마지막에 beforeEach 메소드를 추가하여 매번 객체를 생성하게 되잖아요. 그러면 굳이 afterEach() 메소드로 매번 clear할 필요가 없다고 생각했었는데 afterEach() 메소드를 주석 처리하면 오류가 나더라고요. 제 생각엔 MemoryMemberRepository의 store 변수가 static이기 때문에 beforeEach() 메소드로 매번 객체를 새로 생성하더라도 static 변수는 새로 생기지 않고 기존의 것이 계속 공유되고 있기 때문에 afterEach()가 필요한 거 아닐까 싶은데 제가 정확히 이해한 게 맞는지, 제 생각에 오류가 있는지 궁금합니다.
처음에 해당강의가 이해가 안가서 한 두세번 보다가 넘어가고 Transform#2 강의 듣고 이해가 안가는 부분이 있어서 해당강의를 다시 보는데도 아직 이해가 안 가는 부분이 있어서 질문드립니다. 해당강의 8분쯤에 벡터 BM을 풀어서 쓰면 '만능공식'이 어떻게 나오는지 까지는 이해를 했습니다. 그런데 SRT 행렬 연산을 하여 나온 행렬의 ux, uy, uz의 성분이 right벡터가 된다는 말이 이해가 안가는데 이해가 안 간다고 스스로 생각한 부분이 SRT연산을 해서 나온 결과는 말 그대로 현재 object의 좌표를 기준으로 Scale이 변화하고 Rotation이 변화하고 Transform이 변화한 좌표값을 말하는거라고 이해를 했습니다. 그런데 어떻게 SRT를 통해 나온 행렬의 1행성분 (ux, uy, uz)가 right벡터가 된다는건지 이해가 안갑니다.. SRT 스자이공부가 무엇을 말하는지 까지는 이해를하고 좌표계 변환행렬강의에서 좌표는 부모를 기준으로 상대적이다 라는 개념까지는 이해가 가는데 SRT행렬을 구하면 월드 변환행렬이 되고 이 SRT를 통해 나온 월드 변환행렬에서의 ux, uy, uz가 right성분이 된다는 흐름?이 이해가 가지않습니다..
Awake() : 모든 오브젝트가 초기화되고 호출 Start() : 스크립트 인스턴스가 활성화된 경우에만 호출 유니티 랑 비슷하게 하시려고 만드신 건 이해했습니다 근데 생성자가 있는대 필요한 이유가 있을까요? 생성 순서 문제 때문이라도 Awake나 Start 하나만 써도 될 것 같아서요
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
안녕하세요 강사님 궁금한것이 있어서 질문 남깁니다 public void returnBook(String bookName) { UserLoanHistory targetHistory = this.userLoanHistories.stream () .filter(history -> history.getBookName().equals(bookName)) .findFirst() .orElseThrow(IllegalAccessError::new); //findFist()는 옵셔널로 반홚나다 targetHistory.doReturn(); } 이 로직에서 만약 한 책을 빌렸다가 반납하면 그 히스토리를 반납완료 상태로 만들어주고 끝내고 다시 그 책을 빌리려고 한다면 새로운 히스토리를 만들어서 List에 저장할텐데 그럼 다시 그책을 반납할 경우 findFirst()를 해서 그 히스토리를 찾아왔을때 이미 반납된 책을 다시 반납하는 행위가 되는것이 아닌건지 궁금해서 질문 드립니다!
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
안녕하세요 수업 내용 이외에 단일 물체 애니메이션을 구현하는 도중에 descriptorheap handle 쪽에서 오류가 발생하였습니다. 기본적으로 물체의 변환행렬을 상수버퍼에 추가하고 셰이더쪽에 연결하여 물체의 최종행렬을 계산하는 과정으로 알고 있습니다. objanimation 클래스를 파줘서 여기다가 모든 애니메이션 정보를 넣어놓고 컴포넌트에 연결해서 finalupdate 에서 행렬 보간을 해주고 meshrenderer 에서 transform 다음에 변환 행렬을 상수 버퍼에 pushdata 하는 과정에서 이런 오류가 발생하였습니다. 그리고 currentindex < elementcount 어썰트가 종종 일어나는데 이부분도 왜 일어나는것인지 궁금합니다 어떤부분에서 잘못구현한 것인지 감이 안잡혀서 질문 남깁니다 또한 오류가 발생하기이전에 다르게 구현을 해봐도 쉽지가 않았습니다. 어떤식으로 접근해봐야 잘 구현이 될지도 궁금합니다!
의존성 조언 두번째 방법에서 문제점이 UserService.login은 여전히 의존성이 감춰져있다. 위와 마찬가지로 Userservice.login을 테스트할 때 clock에 의존하고 있는지 알 수 없다. 이거였는데 세번 째 방법도 UserService를 사용하는 메서드는 login(user)만 남겨서 user가 Clock에 의존하는지 모르지 않나요? 아까 맥도날드 예제에서는 인터페이스를 사용하면 일을 시킨다고 설명하셨는데 이것도 인터페이스를 사용해서 일을 시키는거니 이렇게 구현하면 내부에서 clockHolder를 사용해도 외부에서 몰라도 되나요?
DX12에서 썼던 방법으로 RenderTargetGroup을 적용하는데 SwapChain 옵션 중 SwapEffect = DXGI_SWAP_EFFECT_FLIP_DISCARD; 로 주니까 SwapChain의 버퍼 카운트를 2로 했는데도 SwapChain->GetBuffer(index, IID_PPV_ARGS(&resource)); 이 부분에서 index가 0이 아니면 resource를 반환해주지를 않는데, DX11에서는 DX12때 처럼 SwapChain의 BackBufferIndex를 이용해서 수동으로 관리하는게 불가능한가요
DX12 강의에 있던 방법과 같이 ParticleSystem을 컴포넌트로 만들고, FinalTick에서 Compute Shader로 StructuredBuffer를 전해줘서 계산하고, Render 단계에서, FinalTick에서 전해줬던 StructedBuffer를 다시 던져 그리는 방식으로 만들었는데, m_pShader->GetSRV .... 부분에서 Effects11: ID3DX11EffectVariable::AsShaderResource: Invalid typecast 이런 오류가 뜹니다. RWStructuredBuffer라서 그런가 싶은데, 그럼 Input용으로 던져줄 StructuredBuffer<> 와 Output용으로 던져줄 RWStructuredBuffer를 따로 선언해서 채워줘야 하는건가요?
이번 강의에서 Pipeline클래스를 따로 만든다음에 공통적이고 필수적인 부분들은 _pipeline클래스의 Update가 담당하여 렌더링 파이프 라인을 진행하고 일단은 그 밑에 다시 IA - VS - RS - PS - OM단계를 진행하던데 rendering pipeline도식화 해놓은것을 보면(구글링하여 나온 이미지들) IA - VS - RS -PS -OM 단계인데 RenderBegin()이 호출되면 무조건 바로다음에 IA단계들이 다 붙어서 와야하고 그다음에 VS단계에 오는 것들이 다 순서대로 오는식이 아니라 그냥 RenderBegin()이 시작하여 화면을 초기화하고나서 SwapChain을 통해 Present하기 전에만 그냥 순서상관없이 IA 단계부터 OM단계까지의 함수호출들이 오면 되는 것인가요? 렌더링 파이프라인 도식화 한 이미지들은 렌더링 할 버퍼 이미지를 초기화하고 이것을 Swap하여 Present하기 전까지의 렌더링 과정을 이해하기 쉽게 그냥 도식화 해놓은 개념에 불과한가요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 사용자 정의함수를 db에 등록시켜놓은 다음에 jpql로 사용을 해보니 따로 방언을 등록하지 않아도 사용이 가능합니다. List<String> str = em.createQuery("select create_prefix(m.username) from Member m", String.class).getResultList(); create_prefix는 직접 등록한 함수입니다. 수업에서는 방언으로 사용자 정의 함수를 등록해야지 적용이 된다고 하는데 이 경우 왜 작동되는지 알고싶습니다.
@Autowired로 EntityManager를 주입받을때 여러 쓰레드가 동시에 접근하면 동시성 문제가 발생합니다. 하지만 @Transactional 을 추가해준다면 //1 @Repository @RequiredArgsConstructor @Transactional public class AutowiredRepository { private final EntityManager em; } //2 @Repository public class PersistenceContextRepository { @PersistenceContext private EntityManager em; } @PersistenceContext 처럼 Transaction에 의해 쓰레드간 동시성 문제를 해결해준다 고 생각하는데 맞게 생각한건지 궁금합니다. 두가지 방법 다 EntityManager를 호출 할때마다 Proxy를 통해 EntityManager를 생성하여 Thread-Safe를 보장해준다라고 볼수 있는 건가요?? 답변주시면 정말 감사하겠습니다.
유니티에서 회전행렬을 확인 해보고자 출력을 했을 때. 이렇게 출력을 하였습니다. Transform을 해당 값으로 맞춰놓고 작업을 하였는데 Log 값은 이렇게 출력되었습니다. 여기서 의문점인경우가 Z축 회전 행렬을 적용하면 C -S 0 0 S C 0 0 0 0 0 1 0 0 0 1 이 적용이 되어야 하는데 Log 값으로 출력되는것을 보면 Sin값 적용부분에서 C -S S C 가 아닌 C S -S C 로 적용되는걸 알 수 있는데 왜 이렇게 값이 나오는 것인지 궁금합니다. (부호가 왜 바뀌어서 나오는지 궁급합니다.) X축 , Y축 , Z축 동일하게 출력을 해 보았으나 모두 다 같습니다...
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release. 이러한 오류가 뜨는데, 실행하는데는 문제가 없습니다. 이 오류를 고쳐야 할 것 같은데, 어떻게 고쳐야할까요?
쿠폰 생성 발급 로직도 컬럼에 쿠폰의 개수를 지정해놓으면 이전 강의랑 똑같은 거 같은데 왜 이번 강의는 쿠폰 엔티티를 새로 생성해서 그 개수를 체크하는 건지 궁금합니다. 이전 컬럼에 개수를 두어 관리하는 거랑 지금처럼 엔티티를 생성하는 방식의 차이점이 너무 궁금해요 항상 감사합니다.
안녕하세요 주니어 개발자 길라잡이가 되주셔서 감사합니다. fulltext index에 대해서 질문이 있습니다. 임계점이 올경우 튜닝으로도 해결할 수 없는 문제라고 말씀해주셨는데요 경험담이라고 해주셨는데 그 경험담을 듣고 싶어서 질문을 남겨봅니다. 공식 문서에서 찾아보니까 https://dev.mysql.com/doc/refman/8.0/en/innodb-fulltext-index.html#innodb-fulltext-index-deletion 동시 경합이 발생할 수 있다고 작성이 되어있는데 이 문제로 발생한건가요 ? 아니면 다른 인덱스와 다르게 인덱스 용량 때문에 발생한 문제이신건가요 ? FULLTEXT INDEX의 한계 검색을 해도 다 좋은점만 나오더라구요..