Skybox
This commit is contained in:
parent
80db86ab11
commit
d150694eff
@ -56,7 +56,7 @@
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
|
12
cw_8/models/cube.mtl
Normal file
12
cw_8/models/cube.mtl
Normal file
@ -0,0 +1,12 @@
|
||||
# Blender MTL File: 'None'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl _PBR
|
||||
Ns 225.000000
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.053704 0.053704 0.053704
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.450000
|
||||
d 1.000000
|
||||
illum 3
|
12
cw_8/shaders/shader_skybox.frag
Normal file
12
cw_8/shaders/shader_skybox.frag
Normal file
@ -0,0 +1,12 @@
|
||||
#version 430 core
|
||||
|
||||
uniform samplerCube skybox;
|
||||
|
||||
in vec3 texCoord;
|
||||
|
||||
out vec4 out_color;
|
||||
|
||||
void main()
|
||||
{
|
||||
out_color = texture(skybox,texCoord);
|
||||
}
|
13
cw_8/shaders/shader_skybox.vert
Normal file
13
cw_8/shaders/shader_skybox.vert
Normal file
@ -0,0 +1,13 @@
|
||||
#version 430 core
|
||||
|
||||
layout(location = 0) in vec3 vertexPosition;
|
||||
|
||||
uniform mat4 transformation;
|
||||
|
||||
out vec3 texCoord;
|
||||
|
||||
void main()
|
||||
{
|
||||
texCoord = vertexPosition;
|
||||
gl_Position = transformation * vec4(vertexPosition, 1.0);
|
||||
}
|
@ -9,10 +9,12 @@
|
||||
#include "Render_Utils.h"
|
||||
|
||||
#include "Texture.h"
|
||||
#include "SOIL/SOIL.h"
|
||||
|
||||
GLuint program;
|
||||
GLuint programSun;
|
||||
GLuint programParticle;
|
||||
GLuint programSkybox;
|
||||
|
||||
Core::Shader_Loader shaderLoader;
|
||||
|
||||
@ -21,6 +23,8 @@ Core::RenderContext sunContext;
|
||||
Core::RenderContext planetContext;
|
||||
Core::RenderContext stationContext;
|
||||
|
||||
Core::RenderContext cubeContext;
|
||||
|
||||
namespace texture {
|
||||
|
||||
GLuint sun;
|
||||
@ -72,6 +76,8 @@ namespace texture {
|
||||
GLuint station_ao;
|
||||
GLuint station_roughness;
|
||||
GLuint station_metallic;
|
||||
|
||||
GLuint cube;
|
||||
}
|
||||
|
||||
float aspectRatio = 1.f;
|
||||
@ -100,116 +106,6 @@ glm::mat4 createCameraMatrix();
|
||||
void drawObjectSun(Core::RenderContext& context, glm::mat4 modelMatrix);
|
||||
void drawObjectPBR(Core::RenderContext& context, glm::mat4 modelMatrix, GLuint albedo, GLuint ao, GLuint normal, GLuint roughness, GLuint metallic);
|
||||
|
||||
void init(GLFWwindow* window)
|
||||
{
|
||||
glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);
|
||||
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
|
||||
program = shaderLoader.CreateProgram("shaders/pbr.vert", "shaders/pbr.frag");
|
||||
programSun = shaderLoader.CreateProgram("shaders/sun.vert", "shaders/sun.frag");
|
||||
//programParticle = shaderLoader.CreateProgram("shaders/part.vert", "shaders/part.frag");
|
||||
|
||||
//load models here
|
||||
|
||||
loadModelToContext("./models/spaceship.fbx", shipContext);
|
||||
|
||||
loadModelToContext("./models/sun.glb", sunContext);
|
||||
|
||||
loadModelToContext("./models/sphere.obj", planetContext);
|
||||
|
||||
loadModelToContext("./models/station.obj", stationContext);
|
||||
|
||||
|
||||
//load textures here
|
||||
|
||||
texture::sun = Core::LoadTexture("textures/sun/sun.png");
|
||||
|
||||
texture::planet_albedo = Core::LoadTexture("textures/planet/albedo.jpg");
|
||||
texture::planet_ao = Core::LoadTexture("textures/planet/ao.jpg");
|
||||
texture::planet_normal = Core::LoadTexture("textures/planet/normal.jpg");
|
||||
texture::planet_roughness = Core::LoadTexture("textures/planet/roughness.jpg");
|
||||
texture::planet_metallic = Core::LoadTexture("textures/planet/metallic.png");
|
||||
|
||||
texture::mars_albedo = Core::LoadTexture("textures/mars/albedo.jpg");
|
||||
texture::mars_normal = Core::LoadTexture("textures/mars/normal.png");
|
||||
texture::mars_ao = Core::LoadTexture("textures/mars/ao.png");
|
||||
texture::mars_roughness = Core::LoadTexture("textures/mars/roughness.png");
|
||||
texture::mars_metallic = Core::LoadTexture("textures/mars/metallic.png");
|
||||
|
||||
texture::ship_albedo = Core::LoadTexture("textures/ship/albedo.png");
|
||||
texture::ship_ao = Core::LoadTexture("textures/ship/ao.png");
|
||||
texture::ship_normal = Core::LoadTexture("textures/ship/normal.png");
|
||||
texture::ship_roughness = Core::LoadTexture("textures/ship/roughness.png");
|
||||
texture::ship_metallic = Core::LoadTexture("textures/ship/metallic.jpg");
|
||||
|
||||
texture::jupiter_albedo = Core::LoadTexture("textures/jupiter/albedo.png");
|
||||
texture::jupiter_normal = Core::LoadTexture("textures/jupiter/normal.png");
|
||||
texture::jupiter_ao = Core::LoadTexture("textures/jupiter/ao.png");
|
||||
texture::jupiter_roughness = Core::LoadTexture("textures/jupiter/roughness.png");
|
||||
texture::jupiter_metallic = Core::LoadTexture("textures/jupiter/metallic.png");
|
||||
|
||||
texture::earth_albedo = Core::LoadTexture("textures/earth/albedo.png");
|
||||
texture::earth_normal = Core::LoadTexture("textures/earth/normal.png");
|
||||
texture::earth_roughness = Core::LoadTexture("textures/earth/roughness.png");
|
||||
texture::earth_ao = Core::LoadTexture("textures/earth/ao.png");
|
||||
texture::earth_metallic = Core::LoadTexture("textures/earth/metallic.png");
|
||||
|
||||
texture::moon_albedo = Core::LoadTexture("textures/moon/albedo.jpg");
|
||||
texture::moon_normal = Core::LoadTexture("textures/moon/normal.jpg");
|
||||
texture::moon_roughness = Core::LoadTexture("textures/moon/roughness.jpg");
|
||||
texture::moon_ao = Core::LoadTexture("textures/moon/ao.jpg");
|
||||
texture::moon_metallic = Core::LoadTexture("textures/moon/metallic.png");
|
||||
|
||||
texture::station_albedo = Core::LoadTexture("textures/station/albedo.jpg");
|
||||
texture::station_normal = Core::LoadTexture("textures/station/normal.png");
|
||||
texture::station_roughness = Core::LoadTexture("textures/station/roughness.jpg");
|
||||
texture::station_ao = Core::LoadTexture("textures/station/ao.jpg");
|
||||
texture::station_metallic = Core::LoadTexture("textures/station/metallic.jpg");
|
||||
}
|
||||
|
||||
void renderScene(GLFWwindow* window){
|
||||
glClearColor(0.0f, 0.3f, 0.3f, 1.0f);
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
|
||||
glUseProgram(program);
|
||||
|
||||
float time = glfwGetTime();
|
||||
updateDeltaTime(time);
|
||||
|
||||
//desired objects go here
|
||||
drawObjectSun(sunContext, glm::scale(glm::vec3(0.1f)) * glm::eulerAngleY(time/10));
|
||||
|
||||
glm::vec3 spaceshipSide = glm::normalize(glm::cross(spaceshipDir, glm::vec3(0.f, 1.f, 0.f)));
|
||||
glm::vec3 spaceshipUp = glm::normalize(glm::cross(spaceshipSide, spaceshipDir));
|
||||
|
||||
glm::mat4 spaceshipRotationMatrix = glm::mat4({
|
||||
spaceshipSide.x,spaceshipSide.y,spaceshipSide.z,0,
|
||||
spaceshipUp.x,spaceshipUp.y,spaceshipUp.z ,0,
|
||||
-spaceshipDir.x,-spaceshipDir.y,-spaceshipDir.z,0,
|
||||
0.,0.,0.,1.,
|
||||
});
|
||||
|
||||
drawObjectPBR(shipContext,
|
||||
glm::translate(spaceshipPos)
|
||||
* spaceshipRotationMatrix
|
||||
* glm::translate(glm::vec3(0.f, -0.1f, 0.1f))
|
||||
* glm::eulerAngleX(glm::radians(80.f))
|
||||
* glm::eulerAngleY(glm::radians(180.f))
|
||||
* glm::scale(glm::vec3(0.005f)),
|
||||
texture::ship_albedo, texture::ship_normal, texture::ship_ao, texture::ship_roughness, texture::ship_metallic);
|
||||
|
||||
drawObjectPBR(planetContext, glm::eulerAngleY(time/3) * glm::translate(glm::vec3(4.f, 0, 0)) * glm::eulerAngleY(-0.5f*time), texture::planet_albedo, texture::planet_normal, texture::planet_ao, texture::planet_roughness, texture::planet_metallic);
|
||||
drawObjectPBR(planetContext, glm::eulerAngleY(time/3) * glm::translate(glm::vec3(-4.f, 0, 0)) * glm::eulerAngleY(-0.5f*time), texture::mars_albedo, texture::mars_normal, texture::mars_ao, texture::mars_roughness, texture::mars_metallic);
|
||||
drawObjectPBR(planetContext, glm::eulerAngleY(time/3) * glm::translate(glm::vec3(0, 0, 4.f)) * glm::eulerAngleY(-0.5f*time), texture::jupiter_albedo, texture::jupiter_normal, texture::jupiter_ao, texture::jupiter_roughness, texture::jupiter_metallic);
|
||||
drawObjectPBR(planetContext, glm::eulerAngleY(time/3) * glm::translate(glm::vec3(0, 0, -4.f)) * glm::eulerAngleY(-0.5f*time), texture::earth_albedo, texture::earth_normal, texture::earth_ao, texture::earth_roughness, texture::earth_metallic);
|
||||
drawObjectPBR(planetContext, glm::translate(glm::vec3(4.f, 0, 4.f)) * glm::eulerAngleY(-0.5f * time), texture::moon_albedo, texture::moon_normal, texture::moon_ao, texture::moon_roughness, texture::moon_metallic);
|
||||
|
||||
drawObjectPBR(stationContext, glm::translate(glm::vec3(0.f, 3.f, 0.f)) * glm::scale(glm::vec3(0.1f)) * glm::eulerAngleY(time), texture::station_albedo, texture::station_normal, texture::station_ao, texture::station_roughness, texture::station_metallic);
|
||||
//desired objects end here
|
||||
glUseProgram(0);
|
||||
glfwSwapBuffers(window);
|
||||
}
|
||||
|
||||
void processInput(GLFWwindow* window)
|
||||
{
|
||||
@ -283,12 +179,195 @@ void loadModelToContext(std::string path, Core::RenderContext& context)
|
||||
context.initFromAssimpMesh(scene->mMeshes[0]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void drawSkybox(Core::RenderContext& context, glm::mat4 modelMatrix, GLuint textureID) {
|
||||
glDisable(GL_DEPTH_TEST);
|
||||
glUseProgram(programSkybox);
|
||||
glm::mat4 viewProjectionMatrix = createPerspectiveMatrix() * createCameraMatrix();
|
||||
glm::mat4 transformation = viewProjectionMatrix * modelMatrix;
|
||||
glUniformMatrix4fv(glGetUniformLocation(programSkybox, "transformation"), 1, GL_FALSE, (float*)&transformation);
|
||||
glUniformMatrix4fv(glGetUniformLocation(programSkybox, "modelMatrix"), 1, GL_FALSE, (float*)&modelMatrix);
|
||||
glUniform3f(glGetUniformLocation(programSkybox, "lightPos"), 0, 0, 0);
|
||||
Core::SetActiveTexture(textureID, "colorTexture", programSkybox, 0);
|
||||
Core::DrawContext(context);
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
unsigned int loadCubemap(std::vector<std::string> faces)
|
||||
{
|
||||
unsigned int textureID;
|
||||
glGenTextures(1, &textureID);
|
||||
glBindTexture(GL_TEXTURE_CUBE_MAP, textureID);
|
||||
|
||||
int width, height, nrChannels;
|
||||
for (unsigned int i = 0; i < faces.size(); i++)
|
||||
{
|
||||
unsigned char* data = SOIL_load_image(faces[i].c_str(), &width, &height, &nrChannels, 0);
|
||||
if (data)
|
||||
{
|
||||
glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i,
|
||||
0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, data
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << "Cubemap tex failed to load at path: " << faces[i] << std::endl;
|
||||
}
|
||||
}
|
||||
glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||
glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||
glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
|
||||
glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
|
||||
glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE);
|
||||
|
||||
return textureID;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void renderScene(GLFWwindow* window) {
|
||||
glClearColor(0.0f, 0.3f, 0.3f, 1.0f);
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
|
||||
glUseProgram(program);
|
||||
|
||||
float time = glfwGetTime();
|
||||
updateDeltaTime(time);
|
||||
|
||||
drawSkybox(cubeContext, glm::translate(cameraPos), texture::cube);
|
||||
|
||||
//desired objects go here
|
||||
drawObjectSun(sunContext, glm::scale(glm::vec3(0.1f)) * glm::eulerAngleY(time / 10));
|
||||
|
||||
glm::vec3 spaceshipSide = glm::normalize(glm::cross(spaceshipDir, glm::vec3(0.f, 1.f, 0.f)));
|
||||
glm::vec3 spaceshipUp = glm::normalize(glm::cross(spaceshipSide, spaceshipDir));
|
||||
|
||||
glm::mat4 spaceshipRotationMatrix = glm::mat4({
|
||||
spaceshipSide.x,spaceshipSide.y,spaceshipSide.z,0,
|
||||
spaceshipUp.x,spaceshipUp.y,spaceshipUp.z ,0,
|
||||
-spaceshipDir.x,-spaceshipDir.y,-spaceshipDir.z,0,
|
||||
0.,0.,0.,1.,
|
||||
});
|
||||
|
||||
drawObjectPBR(shipContext,
|
||||
glm::translate(spaceshipPos)
|
||||
* spaceshipRotationMatrix
|
||||
* glm::translate(glm::vec3(0.f, -0.1f, 0.1f))
|
||||
* glm::eulerAngleX(glm::radians(80.f))
|
||||
* glm::eulerAngleY(glm::radians(180.f))
|
||||
* glm::scale(glm::vec3(0.005f)),
|
||||
texture::ship_albedo, texture::ship_normal, texture::ship_ao, texture::ship_roughness, texture::ship_metallic);
|
||||
|
||||
drawObjectPBR(planetContext, glm::eulerAngleY(time / 3) * glm::translate(glm::vec3(4.f, 0, 0)) * glm::eulerAngleY(-0.5f * time), texture::planet_albedo, texture::planet_normal, texture::planet_ao, texture::planet_roughness, texture::planet_metallic);
|
||||
drawObjectPBR(planetContext, glm::eulerAngleY(time / 3) * glm::translate(glm::vec3(-4.f, 0, 0)) * glm::eulerAngleY(-0.5f * time), texture::mars_albedo, texture::mars_normal, texture::mars_ao, texture::mars_roughness, texture::mars_metallic);
|
||||
drawObjectPBR(planetContext, glm::eulerAngleY(time / 3) * glm::translate(glm::vec3(0, 0, 4.f)) * glm::eulerAngleY(-0.5f * time), texture::jupiter_albedo, texture::jupiter_normal, texture::jupiter_ao, texture::jupiter_roughness, texture::jupiter_metallic);
|
||||
drawObjectPBR(planetContext, glm::eulerAngleY(time / 3) * glm::translate(glm::vec3(0, 0, -4.f)) * glm::eulerAngleY(-0.5f * time), texture::earth_albedo, texture::earth_normal, texture::earth_ao, texture::earth_roughness, texture::earth_metallic);
|
||||
drawObjectPBR(planetContext, glm::translate(glm::vec3(4.f, 0, 4.f)) * glm::eulerAngleY(-0.5f * time), texture::moon_albedo, texture::moon_normal, texture::moon_ao, texture::moon_roughness, texture::moon_metallic);
|
||||
|
||||
drawObjectPBR(stationContext, glm::translate(glm::vec3(0.f, 3.f, 0.f)) * glm::scale(glm::vec3(0.1f)) * glm::eulerAngleY(time), texture::station_albedo, texture::station_normal, texture::station_ao, texture::station_roughness, texture::station_metallic);
|
||||
//desired objects end here
|
||||
glUseProgram(0);
|
||||
glfwSwapBuffers(window);
|
||||
}
|
||||
|
||||
|
||||
void framebuffer_size_callback(GLFWwindow* window, int width, int height)
|
||||
{
|
||||
aspectRatio = width / float(height);
|
||||
glViewport(0, 0, width, height);
|
||||
}
|
||||
|
||||
|
||||
void init(GLFWwindow* window)
|
||||
{
|
||||
glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);
|
||||
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
|
||||
program = shaderLoader.CreateProgram("shaders/pbr.vert", "shaders/pbr.frag");
|
||||
programSun = shaderLoader.CreateProgram("shaders/sun.vert", "shaders/sun.frag");
|
||||
//programParticle = shaderLoader.CreateProgram("shaders/part.vert", "shaders/part.frag");
|
||||
|
||||
//load models here
|
||||
|
||||
loadModelToContext("./models/spaceship.fbx", shipContext);
|
||||
|
||||
loadModelToContext("./models/sun.glb", sunContext);
|
||||
|
||||
loadModelToContext("./models/sphere.obj", planetContext);
|
||||
|
||||
loadModelToContext("./models/station.obj", stationContext);
|
||||
|
||||
loadModelToContext("./models/cube.obj", cubeContext);
|
||||
|
||||
//load skybox here
|
||||
|
||||
programSkybox = shaderLoader.CreateProgram("shaders/shader_skybox.vert", "shaders/shader_skybox.frag");
|
||||
|
||||
std::vector<std::string> x = {
|
||||
"textures/skybox/space_bk.png",
|
||||
"textures/skybox/space_dn.png",
|
||||
"textures/skybox/space_ft.png",
|
||||
"textures/skybox/space_lf.png",
|
||||
"textures/skybox/space_rt.png",
|
||||
"textures/skybox/space_up.png"
|
||||
|
||||
};
|
||||
|
||||
texture::cube = loadCubemap(x);
|
||||
|
||||
//load textures here
|
||||
|
||||
texture::sun = Core::LoadTexture("textures/sun/sun.png");
|
||||
|
||||
texture::planet_albedo = Core::LoadTexture("textures/planet/albedo.jpg");
|
||||
texture::planet_ao = Core::LoadTexture("textures/planet/ao.jpg");
|
||||
texture::planet_normal = Core::LoadTexture("textures/planet/normal.jpg");
|
||||
texture::planet_roughness = Core::LoadTexture("textures/planet/roughness.jpg");
|
||||
texture::planet_metallic = Core::LoadTexture("textures/planet/metallic.png");
|
||||
|
||||
texture::mars_albedo = Core::LoadTexture("textures/mars/albedo.jpg");
|
||||
texture::mars_normal = Core::LoadTexture("textures/mars/normal.png");
|
||||
texture::mars_ao = Core::LoadTexture("textures/mars/ao.png");
|
||||
texture::mars_roughness = Core::LoadTexture("textures/mars/roughness.png");
|
||||
texture::mars_metallic = Core::LoadTexture("textures/mars/metallic.png");
|
||||
|
||||
texture::ship_albedo = Core::LoadTexture("textures/ship/albedo.png");
|
||||
texture::ship_ao = Core::LoadTexture("textures/ship/ao.png");
|
||||
texture::ship_normal = Core::LoadTexture("textures/ship/normal.png");
|
||||
texture::ship_roughness = Core::LoadTexture("textures/ship/roughness.png");
|
||||
texture::ship_metallic = Core::LoadTexture("textures/ship/metallic.jpg");
|
||||
|
||||
texture::jupiter_albedo = Core::LoadTexture("textures/jupiter/albedo.png");
|
||||
texture::jupiter_normal = Core::LoadTexture("textures/jupiter/normal.png");
|
||||
texture::jupiter_ao = Core::LoadTexture("textures/jupiter/ao.png");
|
||||
texture::jupiter_roughness = Core::LoadTexture("textures/jupiter/roughness.png");
|
||||
texture::jupiter_metallic = Core::LoadTexture("textures/jupiter/metallic.png");
|
||||
|
||||
texture::earth_albedo = Core::LoadTexture("textures/earth/albedo.png");
|
||||
texture::earth_normal = Core::LoadTexture("textures/earth/normal.png");
|
||||
texture::earth_roughness = Core::LoadTexture("textures/earth/roughness.png");
|
||||
texture::earth_ao = Core::LoadTexture("textures/earth/ao.png");
|
||||
texture::earth_metallic = Core::LoadTexture("textures/earth/metallic.png");
|
||||
|
||||
texture::moon_albedo = Core::LoadTexture("textures/moon/albedo.jpg");
|
||||
texture::moon_normal = Core::LoadTexture("textures/moon/normal.jpg");
|
||||
texture::moon_roughness = Core::LoadTexture("textures/moon/roughness.jpg");
|
||||
texture::moon_ao = Core::LoadTexture("textures/moon/ao.jpg");
|
||||
texture::moon_metallic = Core::LoadTexture("textures/moon/metallic.png");
|
||||
|
||||
texture::station_albedo = Core::LoadTexture("textures/station/albedo.jpg");
|
||||
texture::station_normal = Core::LoadTexture("textures/station/normal.png");
|
||||
texture::station_roughness = Core::LoadTexture("textures/station/roughness.jpg");
|
||||
texture::station_ao = Core::LoadTexture("textures/station/ao.jpg");
|
||||
texture::station_metallic = Core::LoadTexture("textures/station/metallic.jpg");
|
||||
}
|
||||
|
||||
void shutdown(GLFWwindow* window)
|
||||
{
|
||||
shaderLoader.DeleteProgram(program);
|
||||
|
BIN
cw_8/textures/skybox/space_bk.png
Normal file
BIN
cw_8/textures/skybox/space_bk.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 299 KiB |
BIN
cw_8/textures/skybox/space_dn.png
Normal file
BIN
cw_8/textures/skybox/space_dn.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 636 KiB |
BIN
cw_8/textures/skybox/space_ft.png
Normal file
BIN
cw_8/textures/skybox/space_ft.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 545 KiB |
BIN
cw_8/textures/skybox/space_lf.png
Normal file
BIN
cw_8/textures/skybox/space_lf.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 508 KiB |
BIN
cw_8/textures/skybox/space_rt.png
Normal file
BIN
cw_8/textures/skybox/space_rt.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 326 KiB |
BIN
cw_8/textures/skybox/space_up.png
Normal file
BIN
cw_8/textures/skybox/space_up.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 507 KiB |
Loading…
Reference in New Issue
Block a user