2016-10-24 4 views
0

openTK를 사용하고 있으므로 OpenGL 캔버스가있는 Windows Form 또는 GLControl을 만들려고합니다. 나는 아직 그것에 익숙하지 않기 때문에 다음을 시도해보기로 결정했다. tutorialOpenTK NotImplementedException 튜토리얼

Visual Studio 도구 상자에 GLControl을 추가 할 수있는 버전을 찾으려면 잠시 시간이 필요했다. 많은 다른 버전들이 나에게 오류를 보냈다. ("C : \ OpenTK.GLControl.dll은 도구 상자에 놓일 수 없다.)

공식 github의 최신 버전을 사용하면 마침내 그 부분이 작동한다. 나를 위해. 그러나

private void glControl1_Resize(object sender, EventArgs e) 
{ 
    int w = glControl1.Width; 
    int h = glControl1.Height; 
    glControl1.MakeCurrent(); 
    GL.MatrixMode(MatrixMode.Projection); 
    GL.LoadIdentity(); 
    GL.ClearColor(Color.SkyBlue); 
    GL.Ortho(-w/2, w/2, -h/2, h/2, -1, 1); 
    GL.Viewport(0, 0, w, h); 
    GL.End(); 
    glControl1.SwapBuffers(); 
} 

나는 내 양식 내부의 튜토리얼에서이를 구현하고 나는 NotImplementedException을받을 디자이너의 GLControl에 그 방법을 할당 할 때. 같은 내가 가지고있는 glControl1_Paint (및 glControl1_Load) 간다 이 메서드를 폼 자체에 할당하려고 시도했지만 동일한 오류가 발생했습니다.

나는 응용 프로그램 실행에서 얻을

출력은

입니다
'AnalogClockTutorial.vshost.exe' (CLR v4.0.30319: AnalogClockTutorial.vshost.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'AnalogClockTutorial.vshost.exe' (CLR v4.0.30319: AnalogClockTutorial.vshost.exe): Loaded 'C:\WINDOWS\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities\14.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'AnalogClockTutorial.vshost.exe' (CLR v4.0.30319: AnalogClockTutorial.vshost.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'AnalogClockTutorial.vshost.exe' (CLR v4.0.30319: AnalogClockTutorial.vshost.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'AnalogClockTutorial.vshost.exe' (CLR v4.0.30319: AnalogClockTutorial.vshost.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'AnalogClockTutorial.vshost.exe' (CLR v4.0.30319: AnalogClockTutorial.vshost.exe): Loaded 'C:\WINDOWS\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities.Sync\14.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.Sync.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'AnalogClockTutorial.vshost.exe' (CLR v4.0.30319: AnalogClockTutorial.vshost.exe): Loaded 'C:\WINDOWS\assembly\GAC_MSIL\Microsoft.VisualStudio.Debugger.Runtime\14.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Debugger.Runtime.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'AnalogClockTutorial.vshost.exe' (CLR v4.0.30319: AnalogClockTutorial.vshost.exe): Loaded 'C:\Users\Algernon\documents\visual studio 2015\Projects\AnalogClockTutorial\AnalogClockTutorial\bin\Debug\AnalogClockTutorial.vshost.exe'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'AnalogClockTutorial.vshost.exe' (CLR v4.0.30319: AnalogClockTutorial.vshost.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'AnalogClockTutorial.vshost.exe' (CLR v4.0.30319: AnalogClockTutorial.vshost.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Xml.Linq\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.Linq.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'AnalogClockTutorial.vshost.exe' (CLR v4.0.30319: AnalogClockTutorial.vshost.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Data.DataSetExtensions\v4.0_4.0.0.0__b77a5c561934e089\System.Data.DataSetExtensions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'AnalogClockTutorial.vshost.exe' (CLR v4.0.30319: AnalogClockTutorial.vshost.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Microsoft.CSharp\v4.0_4.0.0.0__b03f5f7f11d50a3a\Microsoft.CSharp.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'AnalogClockTutorial.vshost.exe' (CLR v4.0.30319: AnalogClockTutorial.vshost.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'AnalogClockTutorial.vshost.exe' (CLR v4.0.30319: AnalogClockTutorial.vshost.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Deployment\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Deployment.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'AnalogClockTutorial.vshost.exe' (CLR v4.0.30319: AnalogClockTutorial.vshost.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Net.Http\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Net.Http.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'AnalogClockTutorial.vshost.exe' (CLR v4.0.30319: AnalogClockTutorial.vshost.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
The thread 0x2c10 has exited with code 0 (0x0). 
The thread 0x2b70 has exited with code 0 (0x0). 
'AnalogClockTutorial.vshost.exe' (CLR v4.0.30319: AnalogClockTutorial.vshost.exe): Loaded 'C:\Users\Algernon\documents\visual studio 2015\Projects\AnalogClockTutorial\AnalogClockTutorial\bin\Debug\AnalogClockTutorial.exe'. Symbols loaded. 
'AnalogClockTutorial.vshost.exe' (CLR v4.0.30319: AnalogClockTutorial.vshost.exe): Loaded 'C:\Users\Algernon\documents\visual studio 2015\Projects\AnalogClockTutorial\AnalogClockTutorial\bin\Debug\OpenTK.GLControl.dll'. Symbols loaded. 
'AnalogClockTutorial.vshost.exe' (CLR v4.0.30319: AnalogClockTutorial.vshost.exe): Loaded 'C:\Users\Algernon\documents\visual studio 2015\Projects\AnalogClockTutorial\AnalogClockTutorial\bin\Debug\OpenTK.dll'. Symbols loaded. 
'AnalogClockTutorial.vshost.exe' (CLR v4.0.30319: AnalogClockTutorial.vshost.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
GraphicsMode.Default = Index: , Color: 32 (8888), Depth: 16, Stencil: 0, Samples: 0, Accum: 0 (0000), Buffers: 2, Stereo: False 
Detected configuration: Windows/.Net 
Loaded opengl32.dll: 1794703360 
Exception thrown: 'System.DllNotFoundException' in OpenTK.dll 
Creating GraphicsContext. 
GraphicsMode: Index: , Color: 32 (8888), Depth: 16, Stencil: 0, Samples: 0, Accum: 0 (0000), Buffers: 2, Stereo: False 
IWindowInfo: Windows.WindowInfo: Handle 4130538, Parent (null) 
GraphicsContextFlags: Default 
Requested version: 1.0 
DisplayDevice 1 (secondary) supports 275 resolutions. 
DisplayDevice 2 (secondary) supports 92 resolutions. 
DisplayDevice 3 (primary) supports 92 resolutions. 
[WGL] Creating temporary context to load extensions 
Setting pixel format... [WGL] ChoosePixelFormatARB not supported on this context 
10 
OpenGL will be bound to window:4130538 on thread:10 
Setting pixel format... Exception thrown: 'System.NotImplementedException' in OpenTK.dll 

사람이 문제의 원인을 알고 발생합니까 나는 그것을 해결하는 방법? 미리 감사드립니다.

답변

0

시험판 버전을 사용하여 NuGet을 사용할 때 솔루션에 포함 된 paket 폴더에있는 복사본을 사용하는 대신 bin \ debug 내의 .dll 복사본을 사용하여 GLControl을 내 도구 상자로 가져 왔습니다.

참고 : 나는 사전 릴리스 디버그 폴더에

링크를 OpenTK.dll, OpenTK.dll.Config 및 OpenTK.GLControl.dll을 복사 한 :

OpenTK.GLControl

OpenTK

설치 openTK.GLControl.Next 자동 OpenTK.Next를 설치합니다. 나는 대답을 매우 쉽게 찾을 수 없으므로이 질문을 삭제하는 대신 여기에 게시 할 것입니다.