This commit is contained in:
Альберт Гадиев 2025-03-01 11:44:31 +06:00
parent 0fd42529c7
commit 8d8843cb11
8 changed files with 67 additions and 30 deletions

4
.gitignore vendored
View File

@ -385,4 +385,8 @@ FodyWeavers.xsd
# JetBrains Rider
.idea/
sdl_app
*.sln.iml

View File

@ -1,7 +1,5 @@
// OBJ_Loader.h - A Single Header OBJ Model Loader
#pragma once
#include "ObjLoader.h"
// Iostream - STD I/O Library

View File

@ -1,5 +1,5 @@
#include "ShaderManager.h"
#include <iostream>
namespace ZL {
@ -127,6 +127,7 @@ namespace ZL {
std::string fragmentShader = readTextFile(fragmentShaderFileName);
///std::cout << "Shader: "<< vertexShader << std::endl;
shaderResourceMap[shaderName] = std::make_shared<ShaderResource>(vertexShader, fragmentShader);
}

19
aaaa Normal file
View File

@ -0,0 +1,19 @@
//----------- Vertex shader
attribute vec3 vPosition;
attribute vec2 vTexCoord;
varying vec2 texCoord;
uniform mat4 ProjectionModelViewMatrix;
void main()
{
gl_Position = ProjectionModelViewMatrix * vec4(vPosition.xyz, 1.0);
texCoord = vTexCoord;
}
//------------- Fragment shader
In windows it is ok. In linux, error: Failed to compile fragment shader code!

View File

@ -1,12 +1,12 @@
precision mediump float;
uniform sampler2D Texture;
varying vec2 texCoord;
void main()
{
vec4 color = texture2D(Texture,texCoord).rgba;
//gl_FragColor = vec4(color.rgb*0.1 + vec3(0.9, 0.9, 0.9), 1.0);
gl_FragColor = color;
//precision mediump float;
uniform sampler2D Texture;
varying vec2 texCoord;
void main()
{
vec4 color = texture2D(Texture,texCoord).rgba;
//gl_FragColor = vec4(color.rgb*0.1 + vec3(0.9, 0.9, 0.9), 1.0);
gl_FragColor = color;
}

View File

@ -1,11 +1,11 @@
attribute vec3 vPosition;
attribute vec2 vTexCoord;
varying vec2 texCoord;
uniform mat4 ProjectionModelViewMatrix;
void main()
{
gl_Position = ProjectionModelViewMatrix * vec4(vPosition.xyz, 1.0);
texCoord = vTexCoord;
attribute vec3 vPosition;
attribute vec2 vTexCoord;
varying vec2 texCoord;
uniform mat4 ProjectionModelViewMatrix;
void main()
{
gl_Position = ProjectionModelViewMatrix * vec4(vPosition.xyz, 1.0);
texCoord = vTexCoord;
}

View File

@ -1,4 +1,4 @@
precision mediump float;
//precision mediump float;
varying vec3 color;
void main()

View File

@ -186,6 +186,8 @@ namespace ZL
renderer.DrawVertexRenderStruct(GameObjects::testmd3mutable[1]);
*/
GameObjects::bxMutable.AssignFrom(GameObjects::bx.mesh);
GameObjects::bxMutable.RefreshVBO();
renderer.DrawVertexRenderStruct(GameObjects::bxMutable);
@ -282,7 +284,7 @@ namespace ZL
CheckGlError();
///GameObjects::testmd3 = testLoadModel();
//GameObjects::testmd3 = testLoadModel();
/*
GameObjects::testmd3mutable.resize(GameObjects::testmd3.size());
@ -296,16 +298,22 @@ namespace ZL
}*/
//Load shaders:
renderer.shaderManager.AddShaderFromFiles("default", "./default.vertex", "./default.fragment");
std::cout << "Hello test 1" << std::endl;
renderer.shaderManager.AddShaderFromFiles("default", "./default.vertex", "./default.fragment");
std::cout << "Hello test 2" << std::endl;
renderer.shaderManager.AddShaderFromFiles("defaultColor", "./defaultColor.vertex", "./defaultColor.fragment");
std::cout << "Hello test 2x" << std::endl;
//Load textures
GameObjects::birdTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp32("./bird.bmp32"));
GameObjects::backgroundTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp24("./background.bmp"));
std::cout << "Hello test 3x" << std::endl;
GameObjects::backgroundTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp24("./background.bmp"));
GameObjects::pipeTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp32("./pipe.bmp32"));
GameObjects::gameOverTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp32("./game_over.bmp32"));
//GameObjects::testObjTexturePtr = std::make_shared<Texture>(CreateTextureDataFromPng("./chair_01_Base_Color.png"));
GameObjects::testObjTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp24("./chair_01_Base_Color.bmp"));
//GameObjects::testObjTexturePtr = std::make_shared<Texture>(CreateTextureDataFromBmp24("./chair_01_Base_Color.bmp"));
//GameObjects::md3TexturePtr = std::make_shared<Texture>(CreateTextureDataFromPng("./model/sarge/band.png"));
@ -313,6 +321,8 @@ namespace ZL
//GameObjects::bx.LoadFromFile("C:\\Work\\GameJam2025-02\\mesh_armature_and_animation_data02.txt");
std::cout << "Hello test 3" << std::endl;
CheckGlError();
//Create bird mesh
GameObjects::birdMesh.data = CreateRect2D({ 0.f, 0.f }, { GameConsts::birdScale * BIRD_WIDTH, GameConsts::birdScale * BIRD_HEIGHT }, 0);
@ -350,6 +360,8 @@ namespace ZL
GameObjects::testObjMeshMutable.data = GameObjects::testObjMesh;
GameObjects::testObjMeshMutable.RefreshVBO();
std::cout << "Hello test 4x" << std::endl;
//Set some game values
Env::birdStartPos = { Env::width * 0.2f, Env::getActualClientHeight() * 0.5f };
@ -362,6 +374,9 @@ namespace ZL
renderer.InitOpenGL();
CheckGlError();
std::cout << "Hello test 5x" << std::endl;
}
void render() {