Fixed broken previous commit

This commit is contained in:
MontyTRC89 2024-12-05 11:19:11 +01:00
parent bb3d0b993b
commit 92eb4af796
4 changed files with 250 additions and 304 deletions

View file

@ -1,240 +1,240 @@
/* styles for prettification of source */ /* styles for prettification of source */
pre .comment { color: #558817; } pre .comment { color: #558817; }
pre .constant { color: #a8660d; } pre .constant { color: #a8660d; }
pre .escape { color: #844631; } pre .escape { color: #844631; }
pre .keyword { color: #aa5050; font-weight: bold; } pre .keyword { color: #aa5050; font-weight: bold; }
pre .library { color: #0e7c6b; } pre .library { color: #0e7c6b; }
pre .marker { color: #512b1e; background: #fedc56; font-weight: bold; } pre .marker { color: #512b1e; background: #fedc56; font-weight: bold; }
pre .string { color: #8080ff; } pre .string { color: #8080ff; }
pre .number { color: #f8660d; } pre .number { color: #f8660d; }
pre .operator { color: #2239a8; font-weight: bold; } pre .operator { color: #2239a8; font-weight: bold; }
pre .preprocessor, pre .prepro { color: #a33243; } pre .preprocessor, pre .prepro { color: #a33243; }
pre .global { color: #800080; } pre .global { color: #800080; }
pre .user-keyword { color: #800080; } pre .user-keyword { color: #800080; }
pre .prompt { color: #558817; } pre .prompt { color: #558817; }
pre .url { color: #272fc2; text-decoration: underline; } pre .url { color: #272fc2; text-decoration: underline; }
body { body {
margin-left: 1em; margin-left: 1em;
margin-right: 1em; margin-right: 1em;
font-family: arial, helvetica, geneva, sans-serif; font-family: arial, helvetica, geneva, sans-serif;
background-color: #ffffff; margin: 0px; background-color: #ffffff; margin: 0px;
} }
code, tt { font-family: monospace; font-size: 1.1em; } code, tt { font-family: monospace; font-size: 1.1em; }
span.parameter { font-family:monospace; } span.parameter { font-family:monospace; }
span.parameter:after { content:":"; } span.parameter:after { content:":"; }
span.types:before { content:"("; } span.types:before { content:"("; }
span.types:after { content:")"; } span.types:after { content:")"; }
.type { font-weight: bold; font-style:italic } .type { font-weight: bold; font-style:italic }
body, td, th { font-size: .95em; line-height: 1.2em;} body, td, th { font-size: .95em; line-height: 1.2em;}
p { line-height: 1.2em;} p { line-height: 1.2em;}
p, ul { margin: 10px 0 0 0px;} p, ul { margin: 10px 0 0 0px;}
strong { font-weight: bold;} strong { font-weight: bold;}
here { font-weight: bold; color: #c8751d;} here { font-weight: bold; color: #c8751d;}
em { font-style: italic;} em { font-style: italic;}
h1 { h1 {
font-size: 1.5em; font-size: 1.5em;
margin: 20px 0 20px 0; margin: 20px 0 20px 0;
} }
h2, h3, h4 { margin: 15px 0 10px 0; } h2, h3, h4 { margin: 15px 0 10px 0; }
h2 { font-size: 1.25em; } h2 { font-size: 1.25em; }
h3 { font-size: 1.15em; } h3 { font-size: 1.15em; }
h4 { font-size: 1.06em; } h4 { font-size: 1.06em; }
a:link { font-weight: bold; color: #004080; text-decoration: none; } a:link { font-weight: bold; color: #004080; text-decoration: none; }
a:visited { font-weight: bold; color: #006699; text-decoration: none; } a:visited { font-weight: bold; color: #006699; text-decoration: none; }
a:link:hover { text-decoration: underline; } a:link:hover { text-decoration: underline; }
hr { hr {
color:#cccccc; color:#cccccc;
background: #00007f; background: #00007f;
height: 1px; height: 1px;
} }
blockquote { margin-left: 3em; } blockquote { margin-left: 3em; }
ul { list-style-type: disc; } ul { list-style-type: disc; }
p.name { p.name {
font-family: "Andale Mono", monospace; font-family: "Andale Mono", monospace;
padding-top: 1em; padding-top: 1em;
} }
pre { pre {
background-color: rgb(245, 245, 245); background-color: rgb(245, 245, 245);
border: 1px solid #C0C0C0; /* silver */ border: 1px solid #C0C0C0; /* silver */
padding: 10px; padding: 10px;
margin: 10px 0 10px 0; margin: 10px 0 10px 0;
overflow: auto; overflow: auto;
font-family: "Andale Mono", monospace; font-family: "Andale Mono", monospace;
} }
pre.example { pre.example {
font-size: .85em; font-size: .85em;
} }
table.index { border: 1px #00007f; } table.index { border: 1px #00007f; }
table.index td { text-align: left; vertical-align: top; } table.index td { text-align: left; vertical-align: top; }
#container { #container {
margin-left: 1em; margin-left: 1em;
margin-right: 1em; margin-right: 1em;
background-color: #f0f0f0; background-color: #f0f0f0;
} }
#product { #product {
text-align: center; text-align: center;
border-bottom: 1px solid #cccccc; border-bottom: 1px solid #cccccc;
background-color: #ffffff; background-color: #ffffff;
} }
#product big { #product big {
font-size: 2em; font-size: 2em;
} }
#main { #main {
background-color: #f0f0f0; background-color: #f0f0f0;
border-left: 2px solid #cccccc; border-left: 2px solid #cccccc;
} }
#navigation { #navigation {
float: left; float: left;
width: 16em; width: 16em;
vertical-align: top; vertical-align: top;
background-color: #f0f0f0; background-color: #f0f0f0;
overflow: visible; overflow: visible;
} }
#navigation h2 { #navigation h2 {
background-color:#e7e7e7; background-color:#e7e7e7;
font-size:1.1em; font-size:1.1em;
color:#000000; color:#000000;
text-align: left; text-align: left;
padding:0.2em; padding:0.2em;
border-top:1px solid #dddddd; border-top:1px solid #dddddd;
border-bottom:1px solid #dddddd; border-bottom:1px solid #dddddd;
} }
#navigation ul #navigation ul
{ {
font-size:1em; font-size:1em;
list-style-type: none; list-style-type: none;
margin: 1px 1px 10px 1px; margin: 1px 1px 10px 1px;
} }
#navigation li { #navigation li {
text-indent: -1em; text-indent: -1em;
display: block; display: block;
margin: 3px 0px 0px 22px; margin: 3px 0px 0px 22px;
} }
#navigation li li a { #navigation li li a {
margin: 0px 3px 0px -1em; margin: 0px 3px 0px -1em;
} }
#content { #content {
margin-left: 18em; margin-left: 18em;
padding: 2em; padding: 2em;
width: 900px; width: 900px;
border-left: 2px solid #cccccc; border-left: 2px solid #cccccc;
border-right: 2px solid #cccccc; border-right: 2px solid #cccccc;
background-color: #ffffff; background-color: #ffffff;
} }
#about { #about {
clear: both; clear: both;
padding: 5px; padding: 5px;
border-top: 2px solid #cccccc; border-top: 2px solid #cccccc;
background-color: #ffffff; background-color: #ffffff;
} }
@media print { @media print {
body { body {
font: 12pt "Times New Roman", "TimeNR", Times, serif; font: 12pt "Times New Roman", "TimeNR", Times, serif;
} }
a { font-weight: bold; color: #004080; text-decoration: underline; } a { font-weight: bold; color: #004080; text-decoration: underline; }
#main { #main {
background-color: #ffffff; background-color: #ffffff;
border-left: 0px; border-left: 0px;
} }
#container { #container {
margin-left: 2%; margin-left: 2%;
margin-right: 2%; margin-right: 2%;
background-color: #ffffff; background-color: #ffffff;
} }
#content { #content {
padding: 1em; padding: 1em;
background-color: #ffffff; background-color: #ffffff;
} }
#navigation { #navigation {
display: none; display: none;
} }
pre.example { pre.example {
font-family: "Andale Mono", monospace; font-family: "Andale Mono", monospace;
font-size: 10pt; font-size: 10pt;
page-break-inside: avoid; page-break-inside: avoid;
} }
} }
table.module_list { table.module_list {
border-width: 1px; border-width: 1px;
border-style: solid; border-style: solid;
border-color: #cccccc; border-color: #cccccc;
border-collapse: collapse; border-collapse: collapse;
} }
table.module_list td { table.module_list td {
border-width: 1px; border-width: 1px;
padding: 3px; padding: 3px;
border-style: solid; border-style: solid;
border-color: #cccccc; border-color: #cccccc;
} }
table.module_list td.name { background-color: #f0f0f0; min-width: 250px; } table.module_list td.name { background-color: #f0f0f0; min-width: 250px; }
table.module_list td.summary { width: 100%; } table.module_list td.summary { width: 100%; }
table.function_list { table.function_list {
border-width: 1px; border-width: 1px;
border-style: solid; border-style: solid;
border-color: #cccccc; border-color: #cccccc;
border-collapse: collapse; border-collapse: collapse;
} }
table.function_list td { table.function_list td {
border-width: 1px; border-width: 1px;
padding: 3px; padding: 3px;
border-style: solid; border-style: solid;
border-color: #cccccc; border-color: #cccccc;
} }
table.function_list td.name { background-color: #f0f0f0; min-width: 250px; } table.function_list td.name { background-color: #f0f0f0; min-width: 250px; }
table.function_list td.summary { width: 100%; } table.function_list td.summary { width: 100%; }
ul.nowrap { ul.nowrap {
white-space:nowrap; white-space:nowrap;
} }
dl.table dt, dl.function dt {border-top: 1px solid #ccc; padding-top: 1em;} dl.table dt, dl.function dt {border-top: 1px solid #ccc; padding-top: 1em;}
dl.table dd, dl.function dd {padding-bottom: 1em; margin: 10px 0 0 20px;} dl.table dd, dl.function dd {padding-bottom: 1em; margin: 10px 0 0 20px;}
dl.table h3, dl.function h3 {font-size: .95em;} dl.table h3, dl.function h3 {font-size: .95em;}
/* stop sublists from having initial vertical space */ /* stop sublists from having initial vertical space */
ul ul { margin-top: 0px; } ul ul { margin-top: 0px; }
ol ul { margin-top: 0px; } ol ul { margin-top: 0px; }
ol ol { margin-top: 0px; } ol ol { margin-top: 0px; }
ul ol { margin-top: 0px; } ul ol { margin-top: 0px; }
/* make the target distinct; helps when we're navigating to a function */ /* make the target distinct; helps when we're navigating to a function */
a:target + * { a:target + * {
background-color: #FF9; background-color: #FF9;
} }

View file

@ -57,7 +57,7 @@ test = Level.new()
test.nameKey = "level_test" test.nameKey = "level_test"
test.scriptFile = "Scripts\\Levels\\New_Level.lua" test.scriptFile = "Scripts\\Levels\\New_Level.lua"
test.ambientTrack = "108" test.ambientTrack = "108"
test.levelFile = "Data\\TestLevel.ten" test.levelFile = "Data\\Tut1_water.ten"
test.loadScreenFile = "Screens\\rome.jpg" test.loadScreenFile = "Screens\\rome.jpg"
-- 0 is no weather, 1 is rain, 2 is snow. -- 0 is no weather, 1 is rain, 2 is snow.

View file

@ -1801,9 +1801,6 @@ namespace TEN::Renderer
DrawRats(nullptr, view, RendererPass::GBuffer); DrawRats(nullptr, view, RendererPass::GBuffer);
DrawLocusts(nullptr, view, RendererPass::GBuffer); DrawLocusts(nullptr, view, RendererPass::GBuffer);
// Downsample G-Buffer for making faster soft particles and SSAO
DownsampleGBuffer();
// Calculate ambient occlusion. // Calculate ambient occlusion.
if (g_Configuration.EnableAmbientOcclusion) if (g_Configuration.EnableAmbientOcclusion)
{ {
@ -3734,8 +3731,8 @@ namespace TEN::Renderer
D3D11_VIEWPORT viewport; D3D11_VIEWPORT viewport;
viewport.TopLeftX = 0; viewport.TopLeftX = 0;
viewport.TopLeftY = 0; viewport.TopLeftY = 0;
viewport.Width = _screenWidth/2; viewport.Width = _screenWidth;
viewport.Height = _screenHeight / 2; viewport.Height = _screenHeight;
viewport.MinDepth = 0.0f; viewport.MinDepth = 0.0f;
viewport.MaxDepth = 1.0f; viewport.MaxDepth = 1.0f;
@ -3810,58 +3807,4 @@ namespace TEN::Renderer
_gameCamera.Camera.NearPlane = _currentGameCamera.Camera.NearPlane; _gameCamera.Camera.NearPlane = _currentGameCamera.Camera.NearPlane;
_gameCamera.Camera.FarPlane = _currentGameCamera.Camera.FarPlane; _gameCamera.Camera.FarPlane = _currentGameCamera.Camera.FarPlane;
} }
void Renderer::DownsampleGBuffer()
{
// Downsample depth
_doingFullscreenPass = true;
SetBlendMode(BlendMode::Opaque);
SetCullMode(CullMode::CounterClockwise);
SetDepthState(DepthState::Write);
// Common vertex shader to all full screen effects
_context->VSSetShader(_vsPostProcess.Get(), nullptr, 0);
_context->PSSetShader(_psDownsampleDepthBuffer.Get(), nullptr, 0);
_context->ClearRenderTargetView(_downsampledDepthRenderTarget.RenderTargetView.Get(), Colors::White);
_context->OMSetRenderTargets(1, _downsampledDepthRenderTarget.RenderTargetView.GetAddressOf(), nullptr);
D3D11_VIEWPORT viewport;
viewport.TopLeftX = 0;
viewport.TopLeftY = 0;
viewport.Width = _screenWidth / 2;
viewport.Height = _screenHeight / 2;
viewport.MinDepth = 0.0f;
viewport.MaxDepth = 1.0f;
_context->RSSetViewports(1, &viewport);
D3D11_RECT rects[1];
rects[0].left = 0;
rects[0].right = viewport.Width;
rects[0].top = 0;
rects[0].bottom = viewport.Height;
_context->RSSetScissorRects(1, rects);
_context->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST);
_context->IASetInputLayout(_fullscreenTriangleInputLayout.Get());
UINT stride = sizeof(PostProcessVertex);
UINT offset = 0;
_context->IASetVertexBuffers(0, 1, _fullscreenTriangleVertexBuffer.Buffer.GetAddressOf(), &stride, &offset);
BindRenderTargetAsTexture(static_cast<TextureRegister>(0), &_depthRenderTarget, SamplerStateRegister::PointWrap);
_stPostProcessBuffer.ViewportWidth = viewport.Width;
_stPostProcessBuffer.ViewportHeight = viewport.Height;
memcpy(_stPostProcessBuffer.SSAOKernel, _SSAOKernel.data(), 16 * _SSAOKernel.size());
_cbPostProcessBuffer.UpdateData(_stPostProcessBuffer, _context.Get());
DrawTriangles(3, 0);
_doingFullscreenPass = false;
}
} }

View file

@ -1421,12 +1421,15 @@ bool LoadLevel(const std::string& path, bool partial)
g_Level.Mirrors.clear(); g_Level.Mirrors.clear();
MirrorInfo mirror; MirrorInfo mirror;
mirror.RoomNumber = 7; mirror.RoomNumber = 17;
mirror.MirrorPlane = Plane(Vector3(0, 0, 30000), Vector3(0, 0, -1)); mirror.MirrorPlane = Plane(Vector3(BLOCK(10), 0, 0), Vector3(-1, 0, 0));
g_Level.Mirrors.push_back(mirror); g_Level.Mirrors.push_back(mirror);
//mirror.MirrorPlane = Plane(Vector3(0, 0, 30000), Vector3(0, 0, -1));
//g_Level.Mirrors.push_back(mirror);
mirror.MirrorPlane = Plane(Vector3(0, -2048, 0), Vector3(0,-1, 0)); //mirror.MirrorPlane = Plane(Vector3(0, -2048, 0), Vector3(0,-1, 0));
g_Level.Mirrors.push_back(mirror); //g_Level.Mirrors.push_back(mirror);
TENLog("Level loading complete.", LogLevel::Info); TENLog("Level loading complete.", LogLevel::Info);