質問編集履歴

2

文章を修正

2021/12/22 04:39

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -2,6 +2,24 @@
2
2
 
3
3
 
4
4
 
5
+ ##### 状態
6
+
7
+ sprite.hpp sprite.cppにSprite_Init()がありこれをbool Init()関数から呼び出して使いかつsprite.hppをインクルードしてもSprite_initは参照できないようにしたいです。
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
5
23
  extern は利用側から使えてしまうためやりたい事とは違います。
6
24
 
7
25
  static はそのソースファイルのみなので違います。
@@ -273,3 +291,151 @@
273
291
 
274
292
 
275
293
  ```
294
+
295
+
296
+
297
+ ```
298
+
299
+ #include "../header/Init.hpp"
300
+
301
+
302
+
303
+ #include <GL/glew.h>
304
+
305
+ #include <GLFW/glfw3.h>
306
+
307
+
308
+
309
+ #include "../header/Window.hpp"
310
+
311
+ #include "../header/Resource.hpp"
312
+
313
+ #include "../header/Sprite.hpp"
314
+
315
+
316
+
317
+ namespace FrameWork
318
+
319
+ {
320
+
321
+ std::shared_ptr<FrameWork::Window> windowContext = 0;
322
+
323
+
324
+
325
+ // ##################################### 初期化 #####################################
326
+
327
+ bool Init(glm::ivec2 size, glm::ivec2 ver, const char *title)
328
+
329
+ {
330
+
331
+ glewInit();
332
+
333
+
334
+
335
+ if (FT_Init_FreeType(&ft) != 0)
336
+
337
+ {
338
+
339
+ std::cerr <<"FreeType を初期化出来ません。"<< std::endl;
340
+
341
+ assert(0);
342
+
343
+ }
344
+
345
+
346
+
347
+ setlocale(LC_CTYPE, ""); //ローカルを設定
348
+
349
+
350
+
351
+ if (glfwInit() == GL_FALSE)
352
+
353
+ {
354
+
355
+ std::cerr << "glfw初期化失敗。" << std::endl;
356
+
357
+ return false;
358
+
359
+ }
360
+
361
+
362
+
363
+ //マウス移動
364
+
365
+ if (GLFW_NOT_INITIALIZED == glfwRawMouseMotionSupported())
366
+
367
+ {
368
+
369
+ std::cerr << "GLFW_NOT_INITIALIZED" << std::endl;
370
+
371
+ }
372
+
373
+
374
+
375
+ windowContext = std::make_shared<Window>(size, title); //ウインドウコンテキストを生成
376
+
377
+
378
+
379
+ //glfwWindowHint(GLFW_SAMPLES, 64);
380
+
381
+ // OpenGL Verison 4.5 Core Profile を選択する
382
+
383
+ glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, ver.x);
384
+
385
+ glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, ver.y);
386
+
387
+ glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
388
+
389
+ glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
390
+
391
+
392
+
393
+ glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
394
+
395
+
396
+
397
+ glEnable(GL_TEXTURE_2D); //テクスチャを有効
398
+
399
+ glEnable(GL_ALPHA_TEST); //アルファテスト
400
+
401
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); //ブレンドタイプ
402
+
403
+ glEnable(GL_BLEND); //ブレンド有効
404
+
405
+ glEnable(GL_SAMPLE_ALPHA_TO_COVERAGE); //半透明
406
+
407
+ glEnable(GL_CULL_FACE); //カリングを有効
408
+
409
+ glCullFace(GL_BACK); //裏面を無効
410
+
411
+
412
+
413
+
414
+
415
+
416
+
417
+ atexit(glfwTerminate); //プログラム終了時の処理を登録
418
+
419
+
420
+
421
+ //FrameWork::Sprite_Init();
422
+
423
+
424
+
425
+ return true;
426
+
427
+ }
428
+
429
+
430
+
431
+
432
+
433
+
434
+
435
+
436
+
437
+
438
+
439
+ }
440
+
441
+ ```

1

文章を修正

2021/12/22 04:39

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
 
4
4
 
5
+ extern は利用側から使えてしまうためやりたい事とは違います。
6
+
7
+ static はそのソースファイルのみなので違います。
8
+
9
+
10
+
5
11
 
6
12
 
7
13
  参考サイト: [https://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96](https://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96)