Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions Python2D/3DCamera.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
//glm::vec3 pos = glm::vec3(0.0f, 0.0f, 2.0f);
//glm::vec3 target = glm::vec3(0.0f, 0.0f, 0.0f);
//glm::vec3 up = glm::vec3(0.0f, 1.0f, 0.0f);

//glm::mat4 view = glm::lookAt(pos, target, up);
//glm::mat4 projection = glm::perspective(glm::radians(45.0f), (float)XCFrameInfo::ScreenWidth / XCFrameInfo::ScreenHeight, 0.1f, 1000.0f);

//glm::mat4 model;
//model = glm::translate(model, glm::vec3(0.0f, 0.0f, 0.0f));
//model = glm::rotate(model,glm::radians(-30.0f),glm::vec3(1,0,0));
//model = glm::scale(model, glm::vec3(1.0f));
7 changes: 7 additions & 0 deletions Python2D/Python2D.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,8 @@
<ClCompile Include="util\gl3w.c" />
<ClCompile Include="util\ImageLoader.cpp" />
<ClCompile Include="util\ShaderReader.cpp" />
<ClCompile Include="XCCore\Background\BackgroundHelper.cpp" />
<ClCompile Include="XCCore\Background\Lake.cpp" />
<ClCompile Include="XCCore\Bullet\BulletHelper.cpp" />
<ClCompile Include="XCCore\Bullet\CircleBullet.cpp" />
<ClCompile Include="XCCore\Task\Task.cpp" />
Expand All @@ -142,6 +144,7 @@
<ClCompile Include="XCCore\Item\Player.cpp" />
<ClCompile Include="XCCore\XCRender\DecisionPointSE.cpp" />
<ClCompile Include="XCCore\XCRender\RenderManager.cpp" />
<ClCompile Include="XCCore\XCRender\XCAdvImageHelper.cpp" />
<ClCompile Include="XCCore\XCRender\XCColorBlockHelper.cpp" />
<ClCompile Include="XCCore\Stage\Stage.cpp" />
<ClCompile Include="XCFrameInfo.cpp" />
Expand All @@ -157,6 +160,9 @@
<ClInclude Include="util\ImageLoader.h" />
<ClInclude Include="util\ShaderReader.h" />
<ClInclude Include="util\stb_image.h" />
<ClInclude Include="XCCore\Background\Background.h" />
<ClInclude Include="XCCore\Background\BackgroundHelper.h" />
<ClInclude Include="XCCore\Background\Lake.h" />
<ClInclude Include="XCCore\Bullet\Bullet.h" />
<ClInclude Include="XCCore\Bullet\BulletHelper.h" />
<ClInclude Include="XCCore\Bullet\CircleBullet.h" />
Expand All @@ -171,6 +177,7 @@
<ClInclude Include="XCCore\XCRender\IRenderHelper.h" />
<ClInclude Include="XCCore\XCRender\ISpecialEffect.h" />
<ClInclude Include="XCCore\XCRender\RenderManager.h" />
<ClInclude Include="XCCore\XCRender\XCAdvImageHelper.h" />
<ClInclude Include="XCCore\XCRender\XCColorBlockHelper.h" />
<ClInclude Include="XCCore\Stage\Stage.h" />
<ClInclude Include="XCFrameInfo.h" />
Expand Down
24 changes: 24 additions & 0 deletions Python2D/Python2D.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@
<Filter Include="XCCore\Task">
<UniqueIdentifier>{303b8fc6-942a-443b-85e0-f81bdcf099af}</UniqueIdentifier>
</Filter>
<Filter Include="XCCore\Background">
<UniqueIdentifier>{f2bb86c8-b3aa-4e55-9427-8633fcd22128}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="util\ConfigManager.cpp">
Expand Down Expand Up @@ -96,6 +99,15 @@
<ClCompile Include="XCCore\Task\TaskHelper.cpp">
<Filter>XCCore\Task</Filter>
</ClCompile>
<ClCompile Include="XCCore\Background\Lake.cpp">
<Filter>XCCore\Background</Filter>
</ClCompile>
<ClCompile Include="XCCore\Background\BackgroundHelper.cpp">
<Filter>XCCore\Background</Filter>
</ClCompile>
<ClCompile Include="XCCore\XCRender\XCAdvImageHelper.cpp">
<Filter>XCCore\XCRender</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="util\ConfigManager.h">
Expand Down Expand Up @@ -172,5 +184,17 @@
<ClInclude Include="XCCore\Task\TaskHelper.h">
<Filter>XCCore\Task</Filter>
</ClInclude>
<ClInclude Include="XCCore\Background\Background.h">
<Filter>XCCore\Background</Filter>
</ClInclude>
<ClInclude Include="XCCore\Background\Lake.h">
<Filter>XCCore\Background</Filter>
</ClInclude>
<ClInclude Include="XCCore\Background\BackgroundHelper.h">
<Filter>XCCore\Background</Filter>
</ClInclude>
<ClInclude Include="XCCore\XCRender\XCAdvImageHelper.h">
<Filter>XCCore\XCRender</Filter>
</ClInclude>
</ItemGroup>
</Project>
Binary file added Python2D/Release/CircleBullet.obj
Binary file not shown.
Binary file added Python2D/Release/ConfigManager.obj
Binary file not shown.
Binary file added Python2D/Release/DecisionPointSE.obj
Binary file not shown.
Binary file added Python2D/Release/GameTimer.obj
Binary file not shown.
Binary file added Python2D/Release/ImageLoader.obj
Binary file not shown.
Binary file added Python2D/Release/Item.obj
Binary file not shown.
69 changes: 69 additions & 0 deletions Python2D/Release/Python2D.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
 ConfigManager.cpp
GameTimer.cpp
h:\pystg\python2d\util\gametimer.cpp(12): warning C4244: “=”: 从“double”转换到“float”,可能丢失数据
h:\pystg\python2d\util\gametimer.cpp(19): warning C4244: “=”: 从“double”转换到“float”,可能丢失数据
h:\pystg\python2d\util\gametimer.cpp(24): warning C4244: “=”: 从“double”转换到“float”,可能丢失数据
ImageLoader.cpp
ShaderReader.cpp
BulletHelper.cpp
h:\pystg\python2d\xccore\bullet\bullethelper.h(5): fatal error C1083: 无法打开包括文件: “Python.h”: No such file or directory
CircleBullet.cpp
h:\pystg\python2d\xccore\xcrender\irenderhelper.h(15): warning C4244: “初始化”: 从“int”转换到“float”,可能丢失数据
h:\pystg\python2d\xccore\xcrender\irenderhelper.h(43): warning C4244: “初始化”: 从“int”转换到“float”,可能丢失数据
h:\pystg\python2d\xccore\bullet\circlebullet.cpp(44): warning C4244: “参数”: 从“T”转换到“int”,可能丢失数据
with
[
T=float
]
Task.cpp
h:\pystg\python2d\xccore\xcrender\irenderhelper.h(15): warning C4244: “初始化”: 从“int”转换到“float”,可能丢失数据
h:\pystg\python2d\xccore\xcrender\irenderhelper.h(43): warning C4244: “初始化”: 从“int”转换到“float”,可能丢失数据
TaskDispatcher.cpp
TaskHelper.cpp
h:\pystg\python2d\xccore\task\taskhelper.h(4): fatal error C1083: 无法打开包括文件: “Python.h”: No such file or directory
TaskInsideUnit.cpp
h:\pystg\python2d\xccore\xcrender\irenderhelper.h(15): warning C4244: “初始化”: 从“int”转换到“float”,可能丢失数据
h:\pystg\python2d\xccore\xcrender\irenderhelper.h(43): warning C4244: “初始化”: 从“int”转换到“float”,可能丢失数据
XCFont.cpp
h:\pystg\python2d\xccore\xcfont\xcfont.cpp(78): warning C4838: 从“FT_Pos”转换到“GLuint”需要收缩转换
h:\pystg\python2d\xccore\xcfont\xcfont.cpp(176): warning C4018: “<”: 有符号/无符号不匹配
h:\pystg\python2d\xccore\xcfont\xcfont.cpp(233): warning C4018: “<”: 有符号/无符号不匹配
Item.cpp
h:\pystg\python2d\xccore\xcrender\irenderhelper.h(15): warning C4244: “初始化”: 从“int”转换到“float”,可能丢失数据
h:\pystg\python2d\xccore\xcrender\irenderhelper.h(43): warning C4244: “初始化”: 从“int”转换到“float”,可能丢失数据
h:\pystg\python2d\xccore\item\item.cpp(17): warning C4244: “参数”: 从“uint64_t”转换到“unsigned int”,可能丢失数据
h:\pystg\python2d\xccore\item\item.cpp(52): warning C4244: “参数”: 从“T”转换到“int”,可能丢失数据
with
[
T=float
]
Player.cpp
h:\pystg\python2d\xccore\xcrender\irenderhelper.h(15): warning C4244: “初始化”: 从“int”转换到“float”,可能丢失数据
h:\pystg\python2d\xccore\xcrender\irenderhelper.h(43): warning C4244: “初始化”: 从“int”转换到“float”,可能丢失数据
h:\pystg\python2d\xccore\item\player.h(29): warning C4305: “初始化”: 从“double”到“float”截断
h:\pystg\python2d\xcinterpreter\scriptloader.h(5): fatal error C1083: 无法打开包括文件: “Python.h”: No such file or directory
DecisionPointSE.cpp
h:\pystg\python2d\xccore\xcrender\irenderhelper.h(15): warning C4244: “初始化”: 从“int”转换到“float”,可能丢失数据
h:\pystg\python2d\xccore\xcrender\irenderhelper.h(43): warning C4244: “初始化”: 从“int”转换到“float”,可能丢失数据
RenderManager.cpp
h:\pystg\python2d\xccore\xcrender\irenderhelper.h(15): warning C4244: “初始化”: 从“int”转换到“float”,可能丢失数据
h:\pystg\python2d\xccore\xcrender\irenderhelper.h(43): warning C4244: “初始化”: 从“int”转换到“float”,可能丢失数据
h:\pystg\python2d\xccore\stage\stage.h(4): fatal error C1083: 无法打开包括文件: “Python.h”: No such file or directory
XCColorBlockHelper.cpp
h:\pystg\python2d\xccore\xcrender\irenderhelper.h(15): warning C4244: “初始化”: 从“int”转换到“float”,可能丢失数据
h:\pystg\python2d\xccore\xcrender\irenderhelper.h(43): warning C4244: “初始化”: 从“int”转换到“float”,可能丢失数据
Stage.cpp
h:\pystg\python2d\xccore\stage\stage.h(4): fatal error C1083: 无法打开包括文件: “Python.h”: No such file or directory
XCFrameInfo.cpp
ScriptLoader.cpp
h:\pystg\python2d\xcinterpreter\scriptloader.h(5): fatal error C1083: 无法打开包括文件: “Python.h”: No such file or directory
XCInterpreter.cpp
h:\pystg\python2d\xcinterpreter\scriptloader.h(5): fatal error C1083: 无法打开包括文件: “Python.h”: No such file or directory
正在编译...
XCImageHelper.cpp
h:\pystg\python2d\xccore\xcrender\irenderhelper.h(15): warning C4244: “初始化”: 从“int”转换到“float”,可能丢失数据
h:\pystg\python2d\xccore\xcrender\irenderhelper.h(43): warning C4244: “初始化”: 从“int”转换到“float”,可能丢失数据
XCFrame.cpp
h:\pystg\python2d\xcinterpreter\scriptloader.h(5): fatal error C1083: 无法打开包括文件: “Python.h”: No such file or directory
python2d.cpp
h:\pystg\python2d\xcinterpreter\scriptloader.h(5): fatal error C1083: 无法打开包括文件: “Python.h”: No such file or directory
Binary file added Python2D/Release/Python2D.tlog/CL.command.1.tlog
Binary file not shown.
Binary file added Python2D/Release/Python2D.tlog/CL.read.1.tlog
Binary file not shown.
Binary file added Python2D/Release/Python2D.tlog/CL.write.1.tlog
Binary file not shown.
2 changes: 2 additions & 0 deletions Python2D/Release/Python2D.tlog/Python2D.lastbuildstate
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#TargetFrameworkVersion=v4.0:PlatformToolSet=v141:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0.17134.0
Release|Win32|H:\PySTG\|
Empty file.
Binary file added Python2D/Release/ShaderReader.obj
Binary file not shown.
Binary file added Python2D/Release/Task.obj
Binary file not shown.
Binary file added Python2D/Release/TaskDispatcher.obj
Binary file not shown.
Binary file added Python2D/Release/TaskInsideUnit.obj
Binary file not shown.
Binary file added Python2D/Release/XCColorBlockHelper.obj
Binary file not shown.
Binary file added Python2D/Release/XCFont.obj
Binary file not shown.
Binary file added Python2D/Release/XCFrameInfo.obj
Binary file not shown.
Binary file added Python2D/Release/XCImageHelper.obj
Binary file not shown.
Binary file added Python2D/Release/vc141.pdb
Binary file not shown.
10 changes: 10 additions & 0 deletions Python2D/XCCore/Background/Background.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#pragma once
#ifndef _BACKGROUND_H_
#define _BACKGROUND_H_
class Background {
public:
virtual void BackgroundInit() = 0;
virtual void BackgroundRender() = 0;
virtual void BackgroundRelease() = 0;
};
#endif
16 changes: 16 additions & 0 deletions Python2D/XCCore/Background/BackgroundHelper.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#include "BackgroundHelper.h"
#include "Lake.h"
Background * BackgroundHelper::getBackgroundByID(int id)
{
Background *pBackground = nullptr;
switch (id) {
case 0:
pBackground = new LakeBackground; break;



default:
pBackground = new LakeBackground;
}
return pBackground;
}
9 changes: 9 additions & 0 deletions Python2D/XCCore/Background/BackgroundHelper.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#pragma once
#ifndef _BACKGROUND_HELPER_H_
#define _BACKGROUND_HELPER_H_
#include "Background.h"
class BackgroundHelper {
public:
static Background* getBackgroundByID(int id);
};
#endif
158 changes: 158 additions & 0 deletions Python2D/XCCore/Background/Lake.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
#include "Lake.h"
#include "../XCRender/IRenderHelper.h"
#include "../../XCFrameInfo.h"

#include <glm/gtc/matrix_transform.hpp>
#include <glm/gtc/type_ptr.hpp>
#include <GL3/gl3w.h>

void LakeBackground::BackgroundInit()
{
if (!isInit) {
lake = new XCAdvImageHelper("assets/Background/lake/lake.png");
leef = new XCAdvImageHelper("assets/Background/lake/leef.png");
water = new XCAdvImageHelper("assets/Background/lake/water.png");

isInit = true;
}
}

void LakeBackground::BackgroundRender()
{
if (isInit) {
timer.Tick();

glEnable(GL_BLEND);
renderLakeImage();
renderWaterImage();
renderLeafImage();
glDisable(GL_BLEND);
if (renderX < 1.0f && renderY < 1.0f) {
renderX += 0.0006f;
renderY += 0.0006f;
}
else {
renderX = 0.0f;
renderY = 0.0f;
}
if (waterX > 0.0f) {
waterX -= 0.0002f;
}
else {
waterX = 1.0f;
}

}
}

void LakeBackground::renderLakeImage()
{
glm::vec3 reshape = glm::vec3(XCFrameInfo::FrameRight, XCFrameInfo::FrameTop,1.0f);
{
glm::mat4 model;
model = glm::translate(model, glm::vec3(0.5f, 0.5f, 0.0f)*reshape);
model = glm::scale(model, glm::vec3(0.5f));
lake->setMvpMatrix(model);
lake->Render(glm::vec3(0.0f), lakeColor, 0.0f, glm::vec3(0), glm::vec3(0.0f),
IRenderHelper::GetSpecificTexWithRatef(XCFrameInfo::FrameRight, XCFrameInfo::FrameTop,1, 1, renderX, renderY));
}
{
glm::mat4 model;
model = glm::translate(model, glm::vec3(0.5f, -0.5f, 0.0f)*reshape);
model = glm::scale(model, glm::vec3(0.5f));
lake->setMvpMatrix(model);
lake->Render(glm::vec3(0.0f), lakeColor, 0.0f, glm::vec3(0), glm::vec3(0.0f),
IRenderHelper::GetSpecificTexWithRatef(XCFrameInfo::FrameRight, XCFrameInfo::FrameTop, 1, 1, renderX, renderY));
}
{
glm::mat4 model;
model = glm::translate(model, glm::vec3(-0.5f, -0.5f, 0.0f)*reshape);
model = glm::scale(model, glm::vec3(0.5f));
lake->setMvpMatrix(model);
lake->Render(glm::vec3(0.0f), lakeColor, 0.0f, glm::vec3(0), glm::vec3(0.0f),
IRenderHelper::GetSpecificTexWithRatef(XCFrameInfo::FrameRight, XCFrameInfo::FrameTop, 1, 1, renderX, renderY));
}
{
glm::mat4 model;
model = glm::translate(model, glm::vec3(-0.5f, 0.5f, 0.0f)*reshape);
model = glm::scale(model, glm::vec3(0.5f));
lake->setMvpMatrix(model);
lake->Render(glm::vec3(0.0f), lakeColor, 0.0f, glm::vec3(0), glm::vec3(0.0f),
IRenderHelper::GetSpecificTexWithRatef(XCFrameInfo::FrameRight, XCFrameInfo::FrameTop, 1, 1, renderX, renderY));
}
}

void LakeBackground::renderWaterImage()
{
glm::vec3 reshape = glm::vec3(XCFrameInfo::FrameRight, XCFrameInfo::FrameTop, 1.0f);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);//GL_ONE_MINUS_SRC_ALPHA
//glBlendFunc(GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR);
{
glm::mat4 model;
model = glm::translate(model, glm::vec3(0.0f, 0.5f, 0.0f));
model = glm::scale(model, glm::vec3(1.0f, 0.5f,1.0f));
water->setMvpMatrix(model);
water->Render(glm::vec3(0.0f), waterColor, 0.0f, glm::vec3(0), glm::vec3(0.0f),
IRenderHelper::GetSpecificTexWithRatef(XCFrameInfo::FrameRight, XCFrameInfo::FrameTop, 2, 2, waterX, waterY));
}
{
glm::mat4 model;
model = glm::translate(model, glm::vec3(0.0f, -0.5f, 0.0f));
model = glm::scale(model, glm::vec3(1.0f, 0.5f, 1.0f));
water->setMvpMatrix(model);
water->Render(glm::vec3(0.0f), waterColor, 0.0f, glm::vec3(0), glm::vec3(0.0f),
IRenderHelper::GetSpecificTexWithRatef(XCFrameInfo::FrameRight, XCFrameInfo::FrameTop, 2, 2, waterX, waterY));
}

}

void LakeBackground::renderLeafImage()
{
glm::vec3 reshape = glm::vec3(XCFrameInfo::FrameRight, XCFrameInfo::FrameTop, 1.0f);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glBlendFunc(GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR);
{
glm::mat4 model;
model = glm::translate(model, glm::vec3(0.5f, 0.5f, 0.0f)*reshape);
model = glm::scale(model, glm::vec3(0.5f));
leef->setMvpMatrix(model);
leef->Render(glm::vec3(0.0f), glm::vec4(0.37f, 1.0f, 1.0f, 1.0f), 0.0f, glm::vec3(0), glm::vec3(0.0f),
IRenderHelper::GetSpecificTexWithRatef(XCFrameInfo::FrameRight, XCFrameInfo::FrameTop, 1, 1, renderX, renderY));
}
{
glm::mat4 model;
model = glm::translate(model, glm::vec3(0.5f, -0.5f, 0.0f)*reshape);
model = glm::scale(model, glm::vec3(0.5f));
leef->setMvpMatrix(model);
leef->Render(glm::vec3(0.0f), glm::vec4(0.37f, 1.0f, 1.0f, 1.0f), 0.0f, glm::vec3(0), glm::vec3(0.0f),
IRenderHelper::GetSpecificTexWithRatef(XCFrameInfo::FrameRight, XCFrameInfo::FrameTop, 1, 1, renderX, renderY));
}
{
glm::mat4 model;
model = glm::translate(model, glm::vec3(-0.5f, -0.5f, 0.0f)*reshape);
model = glm::scale(model, glm::vec3(0.5f));
leef->setMvpMatrix(model);
leef->Render(glm::vec3(0.0f), glm::vec4(0.37f, 1.0f, 1.0f, 1.0f), 0.0f, glm::vec3(0), glm::vec3(0.0f),
IRenderHelper::GetSpecificTexWithRatef(XCFrameInfo::FrameRight, XCFrameInfo::FrameTop, 1, 1, renderX, renderY));
}
{
glm::mat4 model;
model = glm::translate(model, glm::vec3(-0.5f, 0.5f, 0.0f)*reshape);
model = glm::scale(model, glm::vec3(0.5f));
leef->setMvpMatrix(model);
leef->Render(glm::vec3(0.0f), glm::vec4(0.37f, 1.0f, 1.0f, 1.0f), 0.0f, glm::vec3(0), glm::vec3(0.0f),
IRenderHelper::GetSpecificTexWithRatef(XCFrameInfo::FrameRight, XCFrameInfo::FrameTop, 1, 1, renderX, renderY));
}
}

void LakeBackground::BackgroundRelease()
{
if (isInit) {
lake->Release();
leef->Release();
water->Release();

delete lake, leef, water;
isInit = false;
}
}
Loading