Skip to content

Commit d019f59

Browse files
committed
glm fix, new load, mesh quad func, py namespace fix
1 parent c80a951 commit d019f59

8 files changed

+301
-258
lines changed

Qor/BasicState.cpp

Lines changed: 33 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,14 @@ BasicState :: BasicState(Qor* engine):
2929

3030
void BasicState :: preload()
3131
{
32-
m_pQor->session()->module<Module>("blah");
32+
auto rc = m_pQor->resources();
3333

34-
m_pCamera = make_shared<Camera>(m_pQor->resources(), m_pQor->window());
34+
//m_pQor->session()->module<Module>("blah");
35+
36+
m_pCamera = make_shared<Camera>(rc, m_pQor->window());
3537
m_pRoot->add(m_pCamera->as_node());
36-
m_pRTTCamera = make_shared<Camera>(m_pQor->resources(), m_pQor->window());
37-
m_pRTTRoot->add(m_pRTTCamera->as_node());
38+
//m_pRTTCamera = make_shared<Camera>(m_pQor->resources(), m_pQor->window());
39+
//m_pRTTRoot->add(m_pRTTCamera->as_node());
3840

3941
// test loading screen
4042
//std::this_thread::sleep_for(std::chrono::seconds(1));
@@ -47,33 +49,39 @@ BasicState :: ~BasicState()
4749

4850
void BasicState :: enter()
4951
{
50-
state("foo", "bar");
51-
LOG(state("foo"));
52+
//state("foo", "bar");
53+
//LOG(state("foo"));
5254

5355
float sw = m_pQor->window()->size().x;
5456
float sh = m_pQor->window()->size().y;
57+
auto rc = m_pQor->resources();
5558

5659
//m_pPipeline->bg_color(Color::green());
5760
m_pCamera->ortho();
58-
m_pRTTCamera->ortho();
61+
//m_pRTTCamera->ortho();
5962
m_pPipeline->winding(true);
60-
m_pRenderBuffer = std::make_shared<RenderBuffer>(1920,1080);
63+
//m_pRenderBuffer = std::make_shared<RenderBuffer>(1920,1080);
6164

62-
auto mat = make_shared<MeshMaterial>("splash.png", m_pQor->resources());
63-
auto mesh = make_shared<Mesh>(
64-
make_shared<MeshGeometry>(Prefab::quad(vec2(0.0f, 0.0f), vec2(sw, sh))),
65-
vector<shared_ptr<IMeshModifier>>{
66-
make_shared<Wrap>(Prefab::quad_wrap(vec2(0.0f,1.0f), vec2(1.0f,0.0f)))
67-
}, mat
65+
auto mesh = Mesh::quad(
66+
"splash.png",rc,
67+
vec2(sw,sh)
6868
);
69-
m_pRTTRoot->add(mesh);
69+
70+
//auto mat = make_shared<MeshMaterial>("splash.png", rc);
71+
//auto mesh = make_shared<Mesh>(
72+
// make_shared<MeshGeometry>(Prefab::quad(vec2(0.0f, 0.0f), vec2(sw, sh))),
73+
// vector<shared_ptr<IMeshModifier>>{
74+
// make_shared<Wrap>(Prefab::quad_wrap(vec2(0.0f,1.0f), vec2(1.0f,0.0f)))
75+
// }, mat
76+
//);
77+
//m_pRTTRoot->add(mesh);
7078

71-
mesh = make_shared<Mesh>(
72-
make_shared<MeshGeometry>(Prefab::quad(vec2(0.0f, 0.0f), vec2(sw, sh))),
73-
vector<shared_ptr<IMeshModifier>>{
74-
make_shared<Wrap>(Prefab::quad_wrap())
75-
}, std::make_shared<MeshMaterial>(m_pRenderBuffer->texture())
76-
);
79+
//mesh = make_shared<Mesh>(
80+
// make_shared<MeshGeometry>(Prefab::quad(vec2(0.0f, 0.0f), vec2(sw, sh))),
81+
// vector<shared_ptr<IMeshModifier>>{
82+
// make_shared<Wrap>(Prefab::quad_wrap())
83+
// }, std::make_shared<MeshMaterial>(m_pRenderBuffer->texture())
84+
//);
7785
m_pRoot->add(mesh);
7886
}
7987

@@ -92,11 +100,11 @@ void BasicState :: render() const
92100
float sw = m_pQor->window()->size().x;
93101
float sh = m_pQor->window()->size().y;
94102

95-
m_pRenderBuffer->push();
96-
m_pPipeline->render(m_pRTTRoot.get(), m_pRTTCamera.get());
97-
RenderBuffer::pop();
103+
//m_pRenderBuffer->push();
104+
//m_pPipeline->render(m_pRTTRoot.get(), m_pRTTCamera.get());
105+
//RenderBuffer::pop();
98106

99-
glViewport(0,0,sw,sh);
107+
//glViewport(0,0,sw,sh);
100108
m_pPipeline->render(m_pRoot.get(), m_pCamera.get());
101109
}
102110

Qor/Interpreter.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
#include <cmath>
22
#include <math.h>
33
#include "Interpreter.h"
4-
#include "PythonBindings.h"
4+
#ifndef QOR_NO_PYTHON
5+
#include "PythonBindings.h"
6+
#endif
57
using namespace std;
68

79
std::vector<Interpreter :: Context*> Interpreter :: s_Current;

Qor/LoadingState.cpp

Lines changed: 31 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ LoadingState :: LoadingState(Qor* qor):
2020
{
2121
//m_bFade = m_pQor->args().value_or("no_loading_fade", "").empty();
2222
string bg = m_pQor->args().value_or("loading_bg", "");
23+
auto rc = m_pQor->resources();
2324
//string shader = m_pQor->args().value_or("loading_shader", "");
2425
//if(not shader.empty()){
2526
// m_Shader = m_pPipeline->load_shaders({shader});
@@ -36,66 +37,48 @@ LoadingState :: LoadingState(Qor* qor):
3637
m_BG = Color::black();
3738
}
3839

39-
if(!m_bFade)
40-
{
40+
//if(!m_bFade)
41+
//{
4142
m_pPipeline->shader(1)->use();
4243
int fade = m_pPipeline->shader(1)->uniform("Brightness");
4344
m_pPipeline->shader(1)->uniform(
4445
fade, Color::white().vec3()
4546
);
46-
}
47+
//}
4748
m_pRoot->add(m_pCamera);
4849

4950
vec2 win = vec2(m_pWindow->size().x, m_pWindow->size().y);
5051
const float icon_size = win.x / 24.0f;
5152
const float half_icon_size = icon_size / 2.0f;
52-
53-
float sw = m_pQor->window()->size().x;
54-
float sh = m_pQor->window()->size().y;
5553

5654
if(m_pQor->exists("splash.png"))
5755
{
58-
m_pLogo = make_shared<Mesh>(
59-
make_shared<MeshGeometry>(Prefab::quad(
60-
vec2(0.0f, 0.0f),
61-
vec2(sw, sh)
62-
)),
63-
vector<shared_ptr<IMeshModifier>>{
64-
make_shared<Wrap>(Prefab::quad_wrap())
65-
},
66-
make_shared<MeshMaterial>(
67-
m_pQor->resources()->cache_cast<ITexture>("splash.png")
68-
)
56+
m_pLogo = Mesh::quad(
57+
"splash.png",rc,
58+
vec2(win.x,win.y),
59+
//vec3(0.0f,0.0f,0.0f)
60+
m_pWindow->center3f(),
61+
vec2(0.5f)
62+
//vec3(0.0f,0.0f,-1.0f)
6963
);
70-
m_pLogo->position(vec3(0.0f,0.0f,-1.0f));
7164
m_pRoot->add(m_pLogo);
65+
//m_bZoom = true;
7266
}
73-
else if(m_pQor->exists("logo.png"))
67+
else if(m_pQor->exists("loading.png"))
7468
{
75-
m_pLogo = make_shared<Mesh>(
76-
make_shared<MeshGeometry>(Prefab::quad(
77-
-vec2(m_pWindow->size().y, m_pWindow->size().y)/4.0f,
78-
vec2(m_pWindow->size().y, m_pWindow->size().y)/4.0f
79-
)),
80-
vector<shared_ptr<IMeshModifier>>{
81-
make_shared<Wrap>(Prefab::quad_wrap())
82-
},
83-
make_shared<MeshMaterial>(
84-
m_pQor->resources()->cache_cast<ITexture>("logo.png")
85-
)
69+
m_pLogo = Mesh::quad(
70+
"loading.png",rc,
71+
vec2(win.y/2.0f),
72+
m_pWindow->center3f(),
73+
vec2(0.5f)
8674
);
87-
m_pLogo->move(vec3(
88-
m_pWindow->center().x,
89-
m_pWindow->center().y,
90-
0.0f
91-
));
9275
m_pRoot->add(m_pLogo);
9376
m_bZoom = true;
9477
}
9578
//bg->position(vec3(0.0f,0.0f,-2.0f));
9679
//m_pLogo->add_modifier(make_shared<Wrap>(Prefab::quad_wrap()));
9780
//m_pLogo->material(make_shared<MeshMaterial>(
98-
// m_pQor->resources()->cache_cast<ITexture>(
81+
// rc->cache_cast<ITexture>(
9982
// "logo.png"
10083
// )
10184
//));
@@ -117,17 +100,17 @@ LoadingState :: LoadingState(Qor* qor):
117100
));
118101
m_pWaitIcon->add_modifier(make_shared<Wrap>(Prefab::quad_wrap()));
119102
m_pWaitIcon->material(make_shared<MeshMaterial>(
120-
m_pQor->resources()->cache_cast<ITexture>(
103+
rc->cache_cast<ITexture>(
121104
"load-c.png"
122105
)
123106
));
124107
m_pRoot->add(m_pWaitIcon);
125108

126109
// loading screen style
127-
if(m_bFade)
128-
m_pPipeline->bg_color(m_BG);
129-
else
130-
m_pPipeline->bg_color(m_BG);
110+
//if(m_bFade)
111+
// m_pPipeline->bg_color(m_BG);
112+
//else
113+
// m_pPipeline->bg_color(m_BG);
131114

132115
//fade_to(Color::white(), m_FadeTime);
133116
m_Fade.frame(Frame<Color>(
@@ -143,7 +126,7 @@ LoadingState :: LoadingState(Qor* qor):
143126
#ifndef QOR_NO_AUDIO
144127
try{
145128
Log::Silencer ls;
146-
m_pMusic = make_shared<Sound>("loading.ogg", m_pQor->resources());
129+
m_pMusic = make_shared<Sound>("loading.ogg", rc);
147130
m_pRoot->add(m_pMusic);
148131
m_pMusic->play();
149132
}catch(...){}
@@ -165,7 +148,7 @@ void LoadingState :: logic(Freq::Time t)
165148
Actuation::logic(t);
166149
m_pCamera->ortho(true);
167150
m_pPipeline->winding(false);
168-
m_pPipeline->blend(false);
151+
m_pPipeline->blend(true);
169152

170153
if(m_pInput->escape())
171154
m_pQor->quit();
@@ -191,12 +174,12 @@ void LoadingState :: logic(Freq::Time t)
191174
// Loading screen fade style?
192175
if(m_pLogo)
193176
if(m_bFade){
194-
m_pPipeline->bg_color(m_Fade.get());
177+
//m_pPipeline->bg_color(m_Fade.get());
195178

196-
if(m_bZoom){
197-
m_pLogo->reset_orientation();
198-
m_pLogo->scale(m_Fade.get().r());
199-
}
179+
//if(m_bZoom){
180+
// m_pLogo->reset_orientation();
181+
// m_pLogo->scale(m_Fade.get().r());
182+
//}
200183
m_pLogo->pend();
201184
}
202185

Qor/Mesh.cpp

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1860,6 +1860,7 @@ void Mesh :: set_matrix(glm::mat4 m)
18601860
teleport(m);
18611861
}
18621862

1863+
// Prefab meshes
18631864

18641865
std::shared_ptr<Mesh> Mesh :: line(glm::vec3 start, glm::vec3 end, shared_ptr<Texture> tex, float width)
18651866
{
@@ -1881,3 +1882,26 @@ std::shared_ptr<Mesh> Mesh :: line(glm::vec3 start, glm::vec3 end, shared_ptr<Te
18811882
return mesh;
18821883
}
18831884

1885+
std::shared_ptr<Mesh> Mesh :: quad(
1886+
string fn,
1887+
Cache<Resource, std::string>* cache,
1888+
vec2 size,
1889+
vec3 pos,
1890+
vec2 origin
1891+
){
1892+
auto mesh = make_shared<Mesh>(
1893+
make_shared<MeshGeometry>(Prefab::quad(
1894+
-size*origin,
1895+
size*origin
1896+
)),
1897+
vector<shared_ptr<IMeshModifier>>{
1898+
make_shared<Wrap>(Prefab::quad_wrap())
1899+
},
1900+
make_shared<MeshMaterial>(
1901+
cache->cache_cast<ITexture>(fn)
1902+
)
1903+
);
1904+
mesh->position(pos);
1905+
return mesh;
1906+
}
1907+

Qor/Mesh.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -905,7 +905,17 @@ class Mesh:
905905
void pend_callback();
906906

907907
void load_assimp(std::string fn);
908+
909+
// Prefab methods
908910

911+
static std::shared_ptr<Mesh> quad(
912+
std::string fn,
913+
Cache<Resource, std::string>* cache,
914+
glm::vec2 s = glm::vec2(1.0f),
915+
glm::vec3 pos = glm::vec3(0.0f),
916+
glm::vec2 origin = glm::vec2(0.0f) // 0=left,0.5=center,1=right,etc.
917+
);
918+
909919
private:
910920

911921
mutable std::shared_ptr<Data> m_pData;

0 commit comments

Comments
 (0)