teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

削除できないので、削除リクエストが失敗

2022/03/04 06:37

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,91 +1,4 @@
1
- 最近、C言語で SDL2 と OpenGL を勉強はじめました。
2
-
3
- OpenGLで画像を描画したいと思います。でも結果は画像の部分が白いしかないです。画像が描画されないです。
4
- ![イメージ説明](7be407cfacf910b1829c85dcdca3119c.png)
5
-
6
- Window10で MinGw使っていす。
1
+ 削除しした
7
- ```Compile
2
+ ```ここに言語を入力
8
- gcc main.c -lmingw32 -lSDL2main -lSDL2 -lSDL2_image -lopengl32 -o main.exe
3
+ 削除できないので、削除リクエストが失敗
9
- ```
4
+ ```
10
-
11
- コード:
12
- ```c
13
- #include <SDL2/SDL.h>
14
- #include <SDL2/SDL_opengl.h>
15
- #include <SDL2/SDL_image.h>
16
-
17
- #define WINDOW_W 640
18
- #define WINDOW_H 480
19
-
20
- SDL_Window* window;
21
- SDL_Event event;
22
-
23
- SDL_GLContext context;
24
-
25
- int main(int argc, char* argv[]) {
26
- if (SDL_Init(SDL_INIT_EVERYTHING) != 0) {
27
- SDL_Log("Error: SDL failed to initialize. %s\n", SDL_GetError());
28
- return 1;
29
- }
30
-
31
- IMG_Init(IMG_INIT_PNG | IMG_INIT_JPG);
32
-
33
- window = SDL_CreateWindow("project-script", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, WINDOW_W, WINDOW_H, SDL_WINDOW_OPENGL);
34
- if (window == NULL) {
35
- SDL_Log("Error: Window failed to create. %s\n", SDL_GetError());
36
- return 1;
37
- }
38
-
39
- context = SDL_GL_CreateContext(window);
40
- if (context == NULL) {
41
- SDL_Log("Error: context failed to create. %s\n", SDL_GetError());
42
- return 1;
43
- }
44
-
45
- glEnable(GL_TEXTURE_2D);
46
-
47
- // Load Image
48
- GLuint textureID = 0;
49
- SDL_Surface* ImageSurface = IMG_Load("MyImage.jpg");
50
- glGenTextures(1, &textureID);
51
- glBindTexture(GL_TEXTURE_2D, textureID);
52
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, ImageSurface->w, ImageSurface->h, 0, GL_RGBA, GL_UNSIGNED_BYTE, ImageSurface->pixels);
53
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
54
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
55
-
56
- int quit = 0;
57
- while (quit == 0) {
58
- while (SDL_PollEvent(&event)) {
59
- if (event.type == SDL_QUIT) quit = 1;
60
- }
61
-
62
- glClearColor(0 ,0 ,0, 1);
63
- glClear(GL_COLOR_BUFFER_BIT);
64
-
65
- glBindTexture(GL_TEXTURE_2D, textureID);
66
-
67
- glBegin(GL_QUADS);
68
- glTexCoord2f(0, 0); glVertex3f(0, 0, 0);
69
- glTexCoord2f(1, 0); glVertex3f(ImageSurface->w, 0, 0);
70
- glTexCoord2f(1, 1); glVertex3f(ImageSurface->w, ImageSurface->h, 0);
71
- glTexCoord2f(0, 1); glVertex3f(0, ImageSurface->h, 0);
72
- glEnd();
73
-
74
- SDL_GL_SwapWindow(window);
75
- }
76
-
77
- glDisable(GL_TEXTURE_2D);
78
-
79
- glDeleteTextures(1, &textureID);
80
- SDL_GL_DeleteContext(context);
81
- SDL_DestroyWindow(window);
82
-
83
- IMG_Quit();
84
- SDL_Quit();
85
- return 0;
86
- }
87
-
88
- ```
89
- 何が間違っているでしょうか
90
- 別の方法などがあったら教えてぐださい。
91
- ありがとうございます。

2

また、間違いところを。。。

2021/05/24 10:38

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -76,7 +76,6 @@
76
76
 
77
77
  glDisable(GL_TEXTURE_2D);
78
78
 
79
- SDL_GL_DeleteContext(context);
80
79
  glDeleteTextures(1, &textureID);
81
80
  SDL_GL_DeleteContext(context);
82
81
  SDL_DestroyWindow(window);

1

間違いところ見つかった

2021/05/24 10:38

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -71,13 +71,12 @@
71
71
  glTexCoord2f(0, 1); glVertex3f(0, ImageSurface->h, 0);
72
72
  glEnd();
73
73
 
74
- SDL_GL_SwapWindow(window);
74
+ SDL_GL_SwapWindow(window);
75
-
76
- SDL_GL_DeleteContext(context);
77
75
  }
78
76
 
79
77
  glDisable(GL_TEXTURE_2D);
80
78
 
79
+ SDL_GL_DeleteContext(context);
81
80
  glDeleteTextures(1, &textureID);
82
81
  SDL_GL_DeleteContext(context);
83
82
  SDL_DestroyWindow(window);