코드 C2259 'PixelShader': 추상 클래스를 인스턴스화할 수 없습니다.
미해결
[게임 프로그래머 도약반] DirectX11 입문
오류의 문제를 못 찾겠습니다 어떻게 해야 하나요 ?
- c++
- directx
172만명의 커뮤니티!! 함께 토론해봐요.
미해결
[게임 프로그래머 도약반] DirectX11 입문
오류의 문제를 못 찾겠습니다 어떻게 해야 하나요 ?
미해결
2주만에 통과하는 알고리즘 코딩테스트 (2024년)
예제 문제는 잘 풀리는데 백준에 제출하니까 시간초과가 뜹니다 강의 자료랑 큰 차이는 없어 보이는데 어느 부분을 고쳐야 시간 안에 계산 가능할까요? #include <iostream> #include <cstdlib> using namespace std; int main(int argc, char **argv) { int n; int minX, minY, maxX, maxY; cin >> n; int arr[n][2]; for(int i=0; i<n; i++){ cin >> arr[i][0] >> arr[i][1]; } minX = arr[0][0]; maxX = arr[0][0]; minY = arr[0][1]; maxY = arr[0][1]; for(int i=1; i<n; i++){ if(arr[i][0]>maxX){ maxX = arr[i][0]; } else if(arr[i][0]<minX){ minX = arr[i][0]; } if(arr[i][1]>maxY){ maxY = arr[i][1]; } else if(arr[i][1]<minY){ minY = arr[i][1]; } } int arr_answer[n]; int arr_dis[n]; for(int i=minY; i<=maxY; i++){ for(int j=minX; j<= maxX; j++){ for(int l=0; l<n; l++){ int subY= 0, subX=0; subY = i-arr[l][1]; subX = j-arr[l][0]; arr_dis[l] = abs(subX) + abs(subY); } int sum = 0; for(int k=0; k<n; k++){ sum+=arr_dis[k]; if(i==minY && j ==minX){ arr_answer[k] =sum; } else if(sum < arr_answer[k]){ arr_answer[k] = sum; } } } } for(int i=0; i<n; i++){ cout << arr_answer[i] << " "; } return 0; }
해결됨
넓고 얕게 외워서 컴공 전공자 되기
안녕하세요 선생님! 동시성과 병렬성 관련해 기초가 약해 해당 강의를 들으면서 OS 부족한 부분을 많이 알게되어 도움이 많이되고 있습니다. 다름이 아니라 해당 강좌 범위는 벗어나지만.. 구글링해도 명확하게 해결되지 않아 질문 드립니다. 동시성을 구현하는 방법으로 멀티쓰레드 나 코루틴 방법으로 구현을 할 수있고 멀티쓰레드 방법에서 쓰레드 전환 간 context switch가 많기 때문에 오버헤드도 많아 Coroutine 방법을 많이 쓰고 또한 유저가 이벤트루프(스케쥴링)을 app에서 관리한다는 측면에서 디버그가 유용하다 정도로 이해하고 있습니다. 많은 블로그에서 멀티쓰레드보다 코루틴을 소개하면서 동시성 구현시 코루틴을 더 상위(혹은 좋은) 방법으로 서술이 많이 되어 있더라구요. I/O작업이 빈번할 경우 코루틴이 더 유리하다는 이해가 됩니다. 싱글스레드 + async 싱글스레드 멀티스레드 + async 멀티스레드 2개의 구현방법이 레이어가 다르다(thread와 task)보니 4가지 경우의 수를 적용할 수 있는데 실제 동시성을 적용해야되는 상황이면 어떻게 판단하고 최적의 구현방법(4가지 중 선택)을 적용할 수 있을까요? (파이썬 스택을 쓰고 있으며 GIL도 이해하고 있는 상태입니다.) 다시한번 해당 강의와 조금 벗어난 질문드려 죄송합니다. ( _ _ )
해결됨
[게임 프로그래머 도약반] DirectX11 입문
DX 3D를 배우면서 원초적으로 궁금한점이 생겼는데 저희는 지금 Vertex를 표현할때 x, y, z좌표를 사용해 도형을 표현해주는데 x, y 좌표는 모니터의 x, y 픽셀과 대응되기 때문에 자연스럽게 렌더링 시킬수 있다고하지만 z좌표는 도대체 어떻게 렌더링이 되는 건가요? 이건 DX 파이프라인에서 알아서 설정해주는 건가요? 입력되는 데이터에 z좌표 하나를 추가로 넣어주는것 외에는 아무것도 하지 않았는데 어떻게 도형이 3D처럼 렝더링시킬 수 있는건가요?
해결됨
[게임 프로그래머 도약반] DirectX11 입문
강사님 강의 정말 잘 듣고있는 도중 질문이 생겼습니다. 보시는바와같이 Shader스크립트에서 전역변수를 선언하고 C++에서 만들어준 변수를 알맞게 매핑하여 잘 사용하는 모습을 보았는데요 여기서 질문이 있습니다. 바로 저 Shader스크립트에 선언된 변수와 C++스크립트에 선언된 변수가 매핑되는 과정 입니다. C++에서 선언해주는 ShaderResourceView(Texture) 같은건 처음 선언할시 VRAM 내부에 Texture의 비트값이 복사가되고 ShaderResourceView라는 아이가 그 VRAM내부에 선언된 Texture의 주소를 Shader스크립트의 Texture2D라는 아이에게 전달해준다고 생각하고있었는데 그렇다면 그 위에 선언해준 Matrix같은 경우 c++에서 처음 선언할때도 VRAM이 아닌 RAM에 생성되는데 그렇다면 Shader의 Matrix와 C++의 Matrix는 Texture처럼 주소값만 전달해주는게 아니라 완전히 복사해주는건가 두 가지 과정이 다른건가 아니면 제가 어느 한쪽을 잘못 알고 있는건가 해서 질문드립니다.
미해결
[게임 프로그래머 도약반] DirectX11 입문
듣다가 뇌가꼬여서.. 질문드립니다. V 월드에 배치된 오브젝트들을 카메라를 원점으로 한 좌표로 바꿔주고 VInv 카메라 로컬기준 오브젝트들을 다시 월드기준으로 변경시켜준다 카메라 움직임 자체에는 이상이 없음. 문제점 : 조명효과(보이기엔 Emissive) 그래서 V -> VInv 로 한 이유는 Emissive 효과에선 물체에서 카메라까(눈) 벡터가 필요한데 (월드에 배치된 물체에서 월드에 배치된 카메라의 벡터가 필요) 기존 CameraPosition 은 V 면 항상 카메라가 원점이니깐 회전을 시켰을때 제대로 적용이 안됐다. 그래서 CameraPosition 을 VInv 에서 뽑아내서 월드 좌표로 바꿔줬다.. 란 제 결론이 나왔습니다.. 이게 맞을까요?
해결됨
[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
안녕하세요 뉴스크롤링에서 크롤링 하고자 하는 뉴스의 기간을 정해주려면 response = requests.get(" https://search.naver.com/search.naver?where=news&sm=tab_jum&query=검색어 ") 위 코드의 " " 안에 뉴스기간을 옵션으로 설정하여 검색한 페이지의 URL을 긁어서 넣어주면 되는걸지요? 감사합니다.
해결됨
[게임 프로그래머 도약반] DirectX11 입문
1번값이 나오려면 2번에서 s와 -s가 바뀌어야 하는것 아닌가요? 1번의 X = xcos - ysin 이 나와야 하면 v와 M의 첫번째 행을 곱해야 X가 나오는데 지금의 RotationZ행렬은 xcos + ysin이 나올것 같은데요...
미해결
[게임 프로그래머 도약반] DirectX11 입문
모델, 애니메이션때 사용하셨던 모델이 mixamo의 모델인 걸로 알고 있는데 제공해 주신 모델외에 제가 새로 mixamo에서 다운받거나, 언리얼 리소스를 뜯어서 가져온 fbx 모델 모두 저런식으로 불필요한 bone들이 생깁니다. 제가 작년에 dx12강의를 들었어서 제공해주신 fbxloader를 좀 수정해서 fbx파일 한정으로 일부 해결하기는 했습니다. 혹시 파싱 문제를 해결할 방법이 있을까요?? 위에 사진은 수업때 제공해주신 소스코드에 모델만 바꿔서 파싱한 사진입니다.
해결됨
[게임 프로그래머 도약반] DirectX11 입문
MeshRenderer에 구현되어서 각 GameObject마다 한개씩 가지고 있던 TransformBuffer를 RenderManager로 옮기면서 모든 GameObject에 한개의 TransformBuffer를 사용한다고 하셨습니다. 질문은 "모든 GameObject에 TransformBuffer를 하나만 사용하면 TransformData가 중간에 곂쳐서 지워지거나 하진 않는가?" 입니다. 제가 생각해봤을때 모든 Renderable GameObject 하나하나마다 for문을 통해 지금 GameObject가 이미 렌더링 되고 다음 GameObject로 넘어가므로 이전 GameObject를 그리기 위해 사용한 ConstantBuffer의 내용을 갱신해도 괜찮다고 생각되는데 제 생각이 맞나요?
미해결
[게임 프로그래머 도약반] DirectX11 입문
2분쯤에 SRT를 통해서 나온 행렬이 왜 월드 변환행렬이 되고 이것의 ux, uy, uz 성분이 왜 right 벡터가 되는 것인지 잘 모르겠습니다.
미해결
[게임 프로그래머 도약반] DirectX11 입문
처음에 해당강의가 이해가 안가서 한 두세번 보다가 넘어가고 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성분이 된다는 흐름?이 이해가 가지않습니다..
미해결
[게임 프로그래머 도약반] DirectX11 입문
Awake() : 모든 오브젝트가 초기화되고 호출 Start() : 스크립트 인스턴스가 활성화된 경우에만 호출 유니티 랑 비슷하게 하시려고 만드신 건 이해했습니다 근데 생성자가 있는대 필요한 이유가 있을까요? 생성 순서 문제 때문이라도 Awake나 Start 하나만 써도 될 것 같아서요
미해결
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
안녕하세요 수업 내용 이외에 단일 물체 애니메이션을 구현하는 도중에 descriptorheap handle 쪽에서 오류가 발생하였습니다. 기본적으로 물체의 변환행렬을 상수버퍼에 추가하고 셰이더쪽에 연결하여 물체의 최종행렬을 계산하는 과정으로 알고 있습니다. objanimation 클래스를 파줘서 여기다가 모든 애니메이션 정보를 넣어놓고 컴포넌트에 연결해서 finalupdate 에서 행렬 보간을 해주고 meshrenderer 에서 transform 다음에 변환 행렬을 상수 버퍼에 pushdata 하는 과정에서 이런 오류가 발생하였습니다. 그리고 currentindex < elementcount 어썰트가 종종 일어나는데 이부분도 왜 일어나는것인지 궁금합니다 어떤부분에서 잘못구현한 것인지 감이 안잡혀서 질문 남깁니다 또한 오류가 발생하기이전에 다르게 구현을 해봐도 쉽지가 않았습니다. 어떤식으로 접근해봐야 잘 구현이 될지도 궁금합니다!
미해결
[게임 프로그래머 도약반] DirectX11 입문
현재 강의에서 제작하고있는 프레임워크로 3D포폴을 만든다라는 언급이 종종 나오는데 그러한 과정도 이 강의에 포함이 되어있나요?
미해결
[게임 프로그래머 도약반] DirectX11 입문
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를 이용해서 수동으로 관리하는게 불가능한가요
미해결
[게임 프로그래머 도약반] DirectX11 입문
DX12 강의에 있던 방법과 같이 ParticleSystem을 컴포넌트로 만들고, FinalTick에서 Compute Shader로 StructuredBuffer를 전해줘서 계산하고, Render 단계에서, FinalTick에서 전해줬던 StructedBuffer를 다시 던져 그리는 방식으로 만들었는데, m_pShader->GetSRV .... 부분에서 Effects11: ID3DX11EffectVariable::AsShaderResource: Invalid typecast 이런 오류가 뜹니다. RWStructuredBuffer라서 그런가 싶은데, 그럼 Input용으로 던져줄 StructuredBuffer<> 와 Output용으로 던져줄 RWStructuredBuffer를 따로 선언해서 채워줘야 하는건가요?
미해결
[게임 프로그래머 도약반] DirectX11 입문
이번 강의에서 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하기 전까지의 렌더링 과정을 이해하기 쉽게 그냥 도식화 해놓은 개념에 불과한가요?
미해결
하고 싶은 것 일부 주문이 서비스 유형: 픽업임에도 배달메뉴코드로 생성되어 이를 찾고 싶습니다. (배달메뉴와 픽업메뉴 코드는 서로 다름) 엑셀 vookup을 사용해서 상품코드를 배달 메뉴 테이블에서 검색하고, 검색되지 않으면 오주문으로 판단하는 코드를 구현했습니다. 같은 프로그램을 파이썬을 통해 구현해보고 싶은데, 다른 dataframe에 없는 값을 찾아 행을 추가하는 과정이 어려워 조언을 구하고 싶습니다. 파이썬 코드 df_pickup = 픽업 주문내역 데이터 프레임 delivery_menu_code = df_delivery_menu["상품코드"] df_misorder = pd.DataFrame() # 픽업 주문내역에서 상품코드를 꺼내 해당 상품코드가 배달 메뉴 코드에 포함되어 있는지 확인 # 만약에 코드가 없으면 해당 row를 df_misorder에 추가 for idx, row in df_pickup.iterrows(): misorder = df_delivery_menu[delivery_menu_code.str.contains(row["상품코드"], na = False)] if len(misorder) != 0: df_misorder.concat(row) else: pass # 어떻게 추가해도 계속 0개로 나와서, 도와주시면 감사드리겠습니다! len(df_misorder)
미해결
프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
중괄호 등을 통해서 코드를 작성할 때 중괄호가 [] 이렇게 두개 자동으로 생성되는데요. 이외에도 '' 등 두개씩 자동으로 만들어줘서 코드를 작성하는데는 편리한데 'LEE' 등 코드를 쓰고 EE에서 '를 넘어 가기 위해 방향키를 눌러줘야 하는 불편함이 있습니다. 혹시 빠르게 작성하기 위해 단투키 같은게 별도로 있을지 문의드립니다