diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..72490db --- /dev/null +++ b/.gitignore @@ -0,0 +1,372 @@ + +# Created by https://www.toptal.com/developers/gitignore/api/visualstudio +# Edit at https://www.toptal.com/developers/gitignore?templates=visualstudio + +### VisualStudio ### +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.[ji][sn][of][no] +coverage*.xml + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +### VisualStudio Patch ### +# Additional files built by Visual Studio +*.tlog + +# End of https://www.toptal.com/developers/gitignore/api/visualstudio \ No newline at end of file diff --git a/Debug/ODZ.exe b/Debug/ODZ.exe new file mode 100644 index 0000000..28c5f7f Binary files /dev/null and b/Debug/ODZ.exe differ diff --git a/Debug/ODZ.ilk b/Debug/ODZ.ilk new file mode 100644 index 0000000..fefeb0f Binary files /dev/null and b/Debug/ODZ.ilk differ diff --git a/Debug/ODZ.pdb b/Debug/ODZ.pdb new file mode 100644 index 0000000..1b657f3 Binary files /dev/null and b/Debug/ODZ.pdb differ diff --git a/Debug/glut32.dll b/Debug/glut32.dll new file mode 100644 index 0000000..e5703b0 Binary files /dev/null and b/Debug/glut32.dll differ diff --git a/Debug/sky.bmp b/Debug/sky.bmp new file mode 100644 index 0000000..1dd401a Binary files /dev/null and b/Debug/sky.bmp differ diff --git a/Debug/yachik.bmp b/Debug/yachik.bmp new file mode 100644 index 0000000..7ba9aba Binary files /dev/null and b/Debug/yachik.bmp differ diff --git a/ODZ.sdf b/ODZ.sdf new file mode 100644 index 0000000..51792ad Binary files /dev/null and b/ODZ.sdf differ diff --git a/ODZ.sln b/ODZ.sln new file mode 100644 index 0000000..bf5efba --- /dev/null +++ b/ODZ.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ODZ", "ODZ\ODZ.vcxproj", "{A535D3CD-1E9F-47A9-9D0E-2F64B06BB8F3}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A535D3CD-1E9F-47A9-9D0E-2F64B06BB8F3}.Debug|Win32.ActiveCfg = Debug|Win32 + {A535D3CD-1E9F-47A9-9D0E-2F64B06BB8F3}.Debug|Win32.Build.0 = Debug|Win32 + {A535D3CD-1E9F-47A9-9D0E-2F64B06BB8F3}.Release|Win32.ActiveCfg = Release|Win32 + {A535D3CD-1E9F-47A9-9D0E-2F64B06BB8F3}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/ODZ.suo b/ODZ.suo new file mode 100644 index 0000000..9587c43 Binary files /dev/null and b/ODZ.suo differ diff --git a/ODZ/Debug/CL.read.1.tlog b/ODZ/Debug/CL.read.1.tlog new file mode 100644 index 0000000..96eb903 Binary files /dev/null and b/ODZ/Debug/CL.read.1.tlog differ diff --git a/ODZ/Debug/CL.write.1.tlog b/ODZ/Debug/CL.write.1.tlog new file mode 100644 index 0000000..148e849 Binary files /dev/null and b/ODZ/Debug/CL.write.1.tlog differ diff --git a/ODZ/Debug/ODZ.exe.intermediate.manifest b/ODZ/Debug/ODZ.exe.intermediate.manifest new file mode 100644 index 0000000..ecea6f7 --- /dev/null +++ b/ODZ/Debug/ODZ.exe.intermediate.manifest @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/ODZ/Debug/ODZ.lastbuildstate b/ODZ/Debug/ODZ.lastbuildstate new file mode 100644 index 0000000..87f5a51 --- /dev/null +++ b/ODZ/Debug/ODZ.lastbuildstate @@ -0,0 +1,2 @@ +#v4.0:v100 +Debug|Win32|D:\OPenGL\OPenGL\ODZ\ODZ\| diff --git a/ODZ/Debug/ODZ.log b/ODZ/Debug/ODZ.log new file mode 100644 index 0000000..a5224eb --- /dev/null +++ b/ODZ/Debug/ODZ.log @@ -0,0 +1,24 @@ +Построение начато 09.12.2019 23:50:43. + 1>Проект "D:\OPenGL\OPenGL\ODZ\ODZ\ODZ\ODZ.vcxproj" в узле 2 (целевые объекты build). + 1>InitializeBuildStatus: + Создание "Debug\ODZ.unsuccessfulbuild", так как было задано "AlwaysCreate". + ClCompile: + D:\VS2010\VC\bin\CL.exe /c /ZI /nologo /W3 /WX- /Od /Oy- /D _MBCS /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Debug\\" /Fd"Debug\vc100.pdb" /Gd /TP /analyze- /errorReport:prompt vmainf.cpp + vmainf.cpp + 1>d:\opengl\opengl\odz\odz\odz\vmainf.cpp(108): warning C4101: nor: неиспользованная локальная переменная + 1>d:\opengl\opengl\odz\odz\odz\vmainf.cpp(890): warning C4101: i: неиспользованная локальная переменная + 1>d:\opengl\opengl\odz\odz\odz\vmainf.cpp(890): warning C4101: j: неиспользованная локальная переменная + Link: + D:\VS2010\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"D:\OPenGL\OPenGL\ODZ\ODZ\Debug\ODZ.exe" /NOLOGO opengl32.lib glu32.lib glaux.lib glut32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /ManifestFile:"Debug\ODZ.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"D:\OPenGL\OPenGL\ODZ\ODZ\Debug\ODZ.pdb" /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"D:\OPenGL\OPenGL\ODZ\ODZ\Debug\ODZ.lib" /MACHINE:X86 Debug\vmainf.obj + LINK : не найден или не выполнена сборка D:\OPenGL\OPenGL\ODZ\ODZ\Debug\ODZ.exe при последней инкрементной компоновке; выполняется полная компоновка + ODZ.vcxproj -> D:\OPenGL\OPenGL\ODZ\ODZ\Debug\ODZ.exe + Manifest: + C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\mt.exe /nologo /verbose /outputresource:"D:\OPenGL\OPenGL\ODZ\ODZ\Debug\ODZ.exe;#1" /manifest Debug\ODZ.exe.intermediate.manifest + FinalizeBuildStatus: + Файл "Debug\ODZ.unsuccessfulbuild" удаляется. + Обращение к "Debug\ODZ.lastbuildstate". + 1>Построение проекта "D:\OPenGL\OPenGL\ODZ\ODZ\ODZ\ODZ.vcxproj" завершено (целевые объекты build). + +Построение успешно завершено. + +Затраченное время: 00:00:02.11 diff --git a/ODZ/Debug/ODZ.vcxprojResolveAssemblyReference.cache b/ODZ/Debug/ODZ.vcxprojResolveAssemblyReference.cache new file mode 100644 index 0000000..3f01681 Binary files /dev/null and b/ODZ/Debug/ODZ.vcxprojResolveAssemblyReference.cache differ diff --git a/ODZ/Debug/ODZ.write.1.tlog b/ODZ/Debug/ODZ.write.1.tlog new file mode 100644 index 0000000..e69de29 diff --git a/ODZ/Debug/cl.command.1.tlog b/ODZ/Debug/cl.command.1.tlog new file mode 100644 index 0000000..2d4c9f3 Binary files /dev/null and b/ODZ/Debug/cl.command.1.tlog differ diff --git a/ODZ/Debug/link.command.1.tlog b/ODZ/Debug/link.command.1.tlog new file mode 100644 index 0000000..b5afdb1 Binary files /dev/null and b/ODZ/Debug/link.command.1.tlog differ diff --git a/ODZ/Debug/link.read.1.tlog b/ODZ/Debug/link.read.1.tlog new file mode 100644 index 0000000..44a5f28 Binary files /dev/null and b/ODZ/Debug/link.read.1.tlog differ diff --git a/ODZ/Debug/link.write.1.tlog b/ODZ/Debug/link.write.1.tlog new file mode 100644 index 0000000..637b1f2 Binary files /dev/null and b/ODZ/Debug/link.write.1.tlog differ diff --git a/ODZ/Debug/mt.command.1.tlog b/ODZ/Debug/mt.command.1.tlog new file mode 100644 index 0000000..a17f093 Binary files /dev/null and b/ODZ/Debug/mt.command.1.tlog differ diff --git a/ODZ/Debug/mt.read.1.tlog b/ODZ/Debug/mt.read.1.tlog new file mode 100644 index 0000000..4d96576 Binary files /dev/null and b/ODZ/Debug/mt.read.1.tlog differ diff --git a/ODZ/Debug/mt.write.1.tlog b/ODZ/Debug/mt.write.1.tlog new file mode 100644 index 0000000..e9f0676 Binary files /dev/null and b/ODZ/Debug/mt.write.1.tlog differ diff --git a/ODZ/Debug/vc100.idb b/ODZ/Debug/vc100.idb new file mode 100644 index 0000000..dfc52e3 Binary files /dev/null and b/ODZ/Debug/vc100.idb differ diff --git a/ODZ/Debug/vc100.pdb b/ODZ/Debug/vc100.pdb new file mode 100644 index 0000000..23f58d1 Binary files /dev/null and b/ODZ/Debug/vc100.pdb differ diff --git a/ODZ/Debug/vmainf.obj b/ODZ/Debug/vmainf.obj new file mode 100644 index 0000000..cff831f Binary files /dev/null and b/ODZ/Debug/vmainf.obj differ diff --git a/ODZ/ODZ.vcxproj b/ODZ/ODZ.vcxproj new file mode 100644 index 0000000..64c6b72 --- /dev/null +++ b/ODZ/ODZ.vcxproj @@ -0,0 +1,70 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {A535D3CD-1E9F-47A9-9D0E-2F64B06BB8F3} + ODZ + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + + + Level3 + Disabled + + + true + opengl32.lib;glu32.lib;glaux.lib;glut32.lib;%(AdditionalDependencies) + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + opengl32;lib;glu32.lib;glaux.lib;glut32.lib;%(AdditionalDependencies) + + + + + + + + + \ No newline at end of file diff --git a/ODZ/ODZ.vcxproj.filters b/ODZ/ODZ.vcxproj.filters new file mode 100644 index 0000000..b00d0b5 --- /dev/null +++ b/ODZ/ODZ.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Файлы исходного кода + + + \ No newline at end of file diff --git a/ODZ/ODZ.vcxproj.user b/ODZ/ODZ.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/ODZ/ODZ.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/ODZ/Release/CL.read.1.tlog b/ODZ/Release/CL.read.1.tlog new file mode 100644 index 0000000..6321c40 Binary files /dev/null and b/ODZ/Release/CL.read.1.tlog differ diff --git a/ODZ/Release/CL.write.1.tlog b/ODZ/Release/CL.write.1.tlog new file mode 100644 index 0000000..36f42c2 Binary files /dev/null and b/ODZ/Release/CL.write.1.tlog differ diff --git a/ODZ/Release/ODZ.lastbuildstate b/ODZ/Release/ODZ.lastbuildstate new file mode 100644 index 0000000..1577207 --- /dev/null +++ b/ODZ/Release/ODZ.lastbuildstate @@ -0,0 +1,2 @@ +#v4.0:v100 +Release|Win32|C:\Users\colib\OneDrive\Робочий стіл\Курс4_1\Комп_графика\LB\OPenGL\OPenGL\ODZ\ODZ\| diff --git a/ODZ/Release/ODZ.log b/ODZ/Release/ODZ.log new file mode 100644 index 0000000..e230a4e --- /dev/null +++ b/ODZ/Release/ODZ.log @@ -0,0 +1,13 @@ +Построение начато 30.11.2019 19:36:45. + 1>Проект "C:\Users\colib\OneDrive\Робочий стіл\Курс4_1\Комп_графика\LB\OPenGL\OPenGL\ODZ\ODZ\ODZ\ODZ.vcxproj" в узле 2 (целевые объекты build). + 1>InitializeBuildStatus: + Обращение к "Release\ODZ.unsuccessfulbuild". + ClCompile: + D:\VS2010\VC\bin\CL.exe /c /Zi /nologo /W3 /WX- /O2 /Oi /Oy- /GL /D _MBCS /Gm- /EHsc /MD /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Release\\" /Fd"Release\vc100.pdb" /Gd /TP /analyze- /errorReport:prompt vmainf.cpp + vmainf.cpp + 1>vmainf.cpp(5): fatal error C1083: Не удается открыть файл включение: GL/glut.h: No such file or directory + 1>Построение проекта "C:\Users\colib\OneDrive\Робочий стіл\Курс4_1\Комп_графика\LB\OPenGL\OPenGL\ODZ\ODZ\ODZ\ODZ.vcxproj" завершено (целевые объекты build) с ошибкой. + +СБОЙ построения. + +Затраченное время: 00:00:05.38 diff --git a/ODZ/Release/ODZ.unsuccessfulbuild b/ODZ/Release/ODZ.unsuccessfulbuild new file mode 100644 index 0000000..e69de29 diff --git a/ODZ/Release/ODZ.vcxprojResolveAssemblyReference.cache b/ODZ/Release/ODZ.vcxprojResolveAssemblyReference.cache new file mode 100644 index 0000000..3f01681 Binary files /dev/null and b/ODZ/Release/ODZ.vcxprojResolveAssemblyReference.cache differ diff --git a/ODZ/Release/ODZ.write.1.tlog b/ODZ/Release/ODZ.write.1.tlog new file mode 100644 index 0000000..e69de29 diff --git a/ODZ/Release/cl.command.1.tlog b/ODZ/Release/cl.command.1.tlog new file mode 100644 index 0000000..62fbba1 Binary files /dev/null and b/ODZ/Release/cl.command.1.tlog differ diff --git a/ODZ/Release/link.command.1.tlog b/ODZ/Release/link.command.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ODZ/Release/link.command.1.tlog @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ODZ/Release/link.read.1.tlog b/ODZ/Release/link.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ODZ/Release/link.read.1.tlog @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ODZ/Release/link.write.1.tlog b/ODZ/Release/link.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/ODZ/Release/link.write.1.tlog @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ODZ/Release/vc100.pdb b/ODZ/Release/vc100.pdb new file mode 100644 index 0000000..c1451fb Binary files /dev/null and b/ODZ/Release/vc100.pdb differ diff --git a/ODZ/Release/vmainf.obj b/ODZ/Release/vmainf.obj new file mode 100644 index 0000000..a4d60cc Binary files /dev/null and b/ODZ/Release/vmainf.obj differ diff --git a/ODZ/vmainf.cpp b/ODZ/vmainf.cpp new file mode 100644 index 0000000..e8a3e1a --- /dev/null +++ b/ODZ/vmainf.cpp @@ -0,0 +1,1071 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +#define M_PI 3.14159265358979323846 +// +float angle = 0.0; + +GLfloat front_color[] = {1,1,1,1}; +GLfloat back_color[] = {1,1,1,1}; + +// +float lx = 0.0f, lz = -1.0f; +// XZ +float x = 0.0f, z = 70.0f;//70 +// . +// +float deltaAngle = 0.0f; +float deltaMove = 0; +float alpha=110, beta=0; +float delta=0.001; +int vA = 0; +int vB = 0; +float scale = 1; +int vS = 0; + +float pos[4] = {10, 10, 15,1}; +float pos2[4] = {-10, 10, 15,1}; + +//. +unsigned int sky_tex; +AUX_RGBImageRec* sky_image; + +unsigned int yachik_tex; +AUX_RGBImageRec* yachik_image; + + +void wall(float k){ + glBegin(GL_QUADS); + glColor3d (1,0,0); // + glVertex3d(-2*k, 0, -1.5*k);//D + glVertex3d( 2*k, 0, -1.5*k); //K + glVertex3d( 2*k, 0, 1.5*k);//C + glVertex3d(-2*k, 0, 1.5*k);//E + + glColor3d (1,0,0); // + glVertex3d(-2*k, 2, -1.5*k);//D + glVertex3d( 2*k, 2, -1.5*k); //K + glVertex3d( 2*k, 2, 1.5*k);//C + glVertex3d(-2*k, 2, 1.5*k);//E +} + +void changeSize(int w, int h) { + float ratio; +// + if (h == 0) + h = 1; + ratio = w * 1.0 / h; +// + glMatrixMode(GL_PROJECTION); +// + glLoadIdentity(); +// + glViewport(0, 0, w, h); +// + gluPerspective(45.0f, ratio, 0.1f, 100.0f); +// + glMatrixMode(GL_MODELVIEW); +} + + +void computePos(float deltaMove) +{ + x += deltaMove * lx * 0.1f; + z += deltaMove * lz * 0.1f; +} + +void computeDir(float deltaAngle) +{ + angle += deltaAngle; + lx = sin(angle); + lz = -cos(angle); +} + +void computeAlpha(){ + alpha += vA * 0.1; +} + +void computeBate(){ + beta += vB * 0.1; +} + +void lightScale(void); +void computeScale(){ + + if(scale > 0.08) + scale += vS * 0.002; + else + scale += 0.08; +} + +void pressKey(int key, int xx, int yy) { + float nor[4]; + int mod = glutGetModifiers(); + if( key == GLUT_KEY_LEFT){ + if(mod == GLUT_ACTIVE_ALT){ + vA = - 1; + } + else if(mod != GLUT_ACTIVE_ALT && mod != GLUT_ACTIVE_CTRL) + deltaAngle = -0.004f; + + }else if ( key == GLUT_KEY_RIGHT){ + if(mod == GLUT_ACTIVE_ALT){ + vA =+ 1; + } + else if(mod != GLUT_ACTIVE_ALT && mod != GLUT_ACTIVE_CTRL) + deltaAngle = 0.004f; + } + else if ( key == GLUT_KEY_UP ){ + if(mod == GLUT_ACTIVE_ALT) + { + vB = 1; + } + else if(mod == GLUT_ACTIVE_CTRL){ + vS = 1; + } + else + deltaMove = 0.3f; + } + else if ( key == GLUT_KEY_DOWN){ + if(mod == GLUT_ACTIVE_ALT) + { + vB = - 1; + } + else if(mod == GLUT_ACTIVE_CTRL){ + vS = -1; + } + else + deltaMove = -0.3f; + } +} + +void releaseKey(int key, int x, int y) { + + switch (key) { + case GLUT_KEY_LEFT: + case GLUT_KEY_RIGHT: + deltaAngle = 0.0f; + vA = 0; + break; + case GLUT_KEY_UP: + case GLUT_KEY_DOWN: + deltaMove = 0; + vB = 0; + vS = 0; + //scale = 1; + break; + } +} + +void LookAt() +{ + // + glLoadIdentity(); + // + gluLookAt( x, 1.0f, z, x+lx, 1.0f, z+lz, 0.0f, 1.0f, 0.0f ); +} + +void roomArea(){ + glColor3d(.69,.69,.69); + glPushMatrix(); + auxSolidBox(20, 0.5, 35); + glPopMatrix(); + + glColor3d(.82,.82,.82); + glPushMatrix(); + glTranslated(0, 5.3, 17.5); + glRotated(90,1,0,0 ); + auxSolidBox(20, 0.5, 11); + glPopMatrix(); + + glColor3d(.82,.82,.82); + glPushMatrix(); + glTranslated(10, 5.3, 0); + glRotated(90,1,0,0 ); + glRotated(90,0,0,1 ); + auxSolidBox(35, 0.5 , 11); + glPopMatrix(); + +} + + +void CranePart1(void){ + + glPushMatrix(); + glTranslated( 0, 0,-2.7); + glRotated(20,1,0,0 ); + auxSolidCylinder(0.1, 11); + glPopMatrix(); + + glPushMatrix(); + glTranslated( 0,0,-2); + glRotated(-20,1,0,0); + auxSolidCylinder(0.1, 11); + glPopMatrix(); + +} + +void CranePart2(void){ + glPushMatrix(); + glTranslated( -2,2,0); + glRotated(6,0,0,1); + CranePart1(); + glPopMatrix(); + + glPushMatrix(); + glTranslated( -1, -6.8, 0.3); + glRotated(90,1,0,0); + auxSolidCylinder(0.1, 7.2); + glPopMatrix(); + + glPushMatrix(); + glTranslated( -1.49, -2.8, -1.2); + glRotated(90,1,0,0); + auxSolidCylinder(0.1, 4.3); + glPopMatrix(); + + glPushMatrix(); + glTranslated( -0.5, -2.8, -1.2); + glRotated(90,1,0,0); + auxSolidCylinder(0.1, 4.3); + glPopMatrix(); + + glPushMatrix(); + glTranslated( -0.5, -2.8, -4.47); + glRotated(90,1,0,0); + glRotated(90,0,0,1); + auxSolidCylinder(0.1, 1); + glPopMatrix(); + + glPushMatrix(); + glTranslated( -0.5, -2.8, -0.24); + glRotated(90,1,0,0); + glRotated(90,0,0,1); + auxSolidCylinder(0.1, 1); + glPopMatrix(); +//------ + glPushMatrix(); + glTranslated( -1.8, 0, -2.3); + glRotated(90,1,0,0); + auxSolidCylinder(0.1, 2.1); + glPopMatrix(); + + glPushMatrix(); + glTranslated( -0.21, 0, -2.3); + glRotated(90,1,0,0); + auxSolidCylinder(0.1, 2.1); + glPopMatrix(); + + glPushMatrix(); + glTranslated( -0.7, 0, -3.41); + glRotated(90,1,0,0); + glRotated(90,0,0,1); + auxSolidCylinder(0.1, 1.5); + glPopMatrix(); + + glPushMatrix(); + glTranslated( -0.7, 0, -1.3); + glRotated(90,1,0,0); + glRotated(90,0,0,1); + auxSolidCylinder(0.1, 1.5); + glPopMatrix(); +//------ + + glPushMatrix(); + glTranslated( 0,2,0); + glRotated(-6,0,0,1); + CranePart1(); + glPopMatrix(); + + +} + +void CranePart3(void){ + glPushMatrix(); + glTranslated( -1.1,3.5,-2.3); + glRotated(0,0,0,1); + auxSolidBox(20, 0.5, 0.1); + glPopMatrix(); + + glPushMatrix(); + glTranslated( -1.1,3.7,-2.3); + glRotated(0,0,0,1); + auxSolidBox(20, 0.1, 0.5); + glPopMatrix(); + + glPushMatrix(); + glTranslated( -1.1,3.3,-2.3); + glRotated(0,0,0,1); + auxSolidBox(20, 0.1, 0.5); + glPopMatrix(); + +} + +void CranePart5(void){ + + //glPolygonMode(GL_FILL); // + glBegin(GL_QUADS); + glVertex3d(-0.2, 0, 0);//D + glVertex3d( 0.2, 0, 0); //K + + glVertex3d( 0.5, 0.7, 0 );//C + glVertex3d(-0.5, 0.7, 0);//E + glEnd(); + + glBegin(GL_QUADS); + glVertex3d(-0.2, 0, 0.3); + glVertex3d( 0.2, 0, 0.3); + + glVertex3d( 0.5, 0.7, 0.3); + glVertex3d(-0.5, 0.7, 0.3); + glEnd(); + + + glBegin(GL_QUADS); + glVertex3d(-0.2, 0, 0); + glVertex3d(-0.2, 0, 0.3); + + glVertex3d(-0.5, 0.7, 0.3); + glVertex3d(-0.5, 0.7, 0); + glEnd(); + + glBegin(GL_QUADS); + glVertex3d(0.2, 0, 0); + glVertex3d(0.2, 0, 0.3); + + glVertex3d(0.5, 0.7, 0.3); + glVertex3d(0.5, 0.7, 0); + glEnd(); + + glBegin(GL_QUADS); + glVertex3d(-0.2, 0, 0.3); + glVertex3d(-0.2, 0, 0); + glVertex3d( 0.2, 0, 0); + glVertex3d( 0.2, 0, 0.3); + glEnd(); + + glBegin(GL_QUADS); + glVertex3d(-0.5, 0.7, 0.3); + glVertex3d(-0.5, 0.7, 0); + glVertex3d( 0.5, 0.7, 0); + glVertex3d( 0.5, 0.7, 0.3); + glEnd(); + + +} + +void CranePart6(void){ + + glPushMatrix(); + glTranslated( 0,0,0); + glRotated(0,0,0,1); + auxSolidBox(0.1, 0.5, 0.1); + glPopMatrix(); + + glPushMatrix(); + glTranslated( 0,-0.2,-0.1); + glRotated(0,0,0,1); + auxSolidBox(0.1, 0.1, 0.2); + glPopMatrix(); + + glPushMatrix(); + glTranslated( 0,-0.15,-0.2); + auxSolidBox(0.1, 0.2, 0.13); + glPopMatrix(); +} + +void CranePart4(void){ + + glPushMatrix(); + glTranslated( 0, 2, -2.3); + auxSolidCylinder(0.05, 3.5); + glPopMatrix(); + + glPushMatrix(); + glTranslated( -0.4, -1.2, -2.4); + CranePart5(); + glPopMatrix(); + + glPushMatrix(); + glTranslated( -0.4, -1.4, -2.25); + glRotated(90,0,1,0); + CranePart6(); + glPopMatrix(); + + glPushMatrix(); + glTranslated( -0.8, 2, -2.3); + auxSolidCylinder(0.05, 3.5); + glPopMatrix(); + +} + + +void crane(){ + + glColor3f(.21,.39,.80); + glPushMatrix(); + glTranslated( 8, 0, 0); + CranePart2(); + glPopMatrix(); + + glColor3f(.21,.39,.80); + glPushMatrix(); + CranePart4(); + glPopMatrix(); + + glColor3f(.21,.39,.80); + glPushMatrix(); + glTranslated( -0.5, 2.9,-2.3); + auxSolidBox(2, 0.5, 0.5); + glPopMatrix(); + + glColor3f(.21,.39,.80); + glPushMatrix(); + glTranslated( 0, -0.35, 0); + CranePart3(); + glPopMatrix(); + + glColor3f(.21,.39,.80); + glPushMatrix(); + glTranslated( -8, 0, 0); + CranePart2(); + glPopMatrix(); + + +} + +void windows(){ + + glEnable(GL_TEXTURE_2D); + glBindTexture(GL_TEXTURE_2D, sky_tex); + glColor3f(1,1,1); + glBegin(GL_QUADS); + glTexCoord2d(0,0); + glVertex3d( 6.5, 0, 0); + glTexCoord2d(0,1); + + glVertex3d(-6.5, 0, 0); + glTexCoord2d(1,1); + + glVertex3d(-6.5, -5, 0); + glTexCoord2d(1,0); + + glVertex3d( 6.5, -5, 0); + glEnd(); + glDisable(GL_TEXTURE_2D); + + glPushMatrix(); + auxSolidBox(13, 0.12, 0.13); + glPopMatrix(); + + glPushMatrix(); + glTranslated( 0, -5, 0); + auxSolidBox(13, 0.12, 0.13); + glPopMatrix(); + + glPushMatrix(); + glTranslated( 0, -2.5, 0); + auxSolidBox(13, 0.12, 0.13); + glPopMatrix(); + + + glPushMatrix(); + glTranslated( 0, -2.5, 0); + auxSolidBox(0.12, 5, 0.13); + glPopMatrix(); + + glPushMatrix(); + glTranslated( -6.45, -2.5, 0); + auxSolidBox(0.12, 5, 0.13); + glPopMatrix(); + + glPushMatrix(); + glTranslated( -3.25, -2.5, 0); + auxSolidBox(0.12, 5, 0.13); + glPopMatrix(); + + glPushMatrix(); + glTranslated( 6.45, -2.5, 0); + auxSolidBox(0.12, 5, 0.13); + glPopMatrix(); + + glPushMatrix(); + glTranslated( 3.25, -2.5, 0); + auxSolidBox(0.12, 5, 0.13); + glPopMatrix(); + +} + +void stairs(){ + glColor3f(.83,.51,0); + glPushMatrix(); + glTranslated( 0, 10, 0); + auxSolidCylinder(0.07, 10); + glPopMatrix(); + + glPushMatrix(); + glTranslated( -0.8, 10, 0); + auxSolidCylinder(0.07, 10); + glPopMatrix(); + + for(int i = 0, k=0; i < 9; i++, k +=1) + + { + glPushMatrix(); + glTranslated( 0.2, 2 + k, 0); + glRotated(90,1,0,0); + glRotated(90,0,0,1); + auxSolidCylinder(0.07, 0.8); + glPopMatrix(); + } + +} + +void pipe( GLUquadricObj *quadObj ) +{ + glColor3f(.73,.57,.38); + glPushMatrix(); + glTranslated( 0, 0.75, 4); + glRotated(90,0,0,1); + glRotated(90,1,0,0); + auxSolidCylinder(0.5, 14); + glPopMatrix(); + + glPushMatrix(); + glTranslated( 0, 0.75, 4); + glRotated(90,0,0,1); + glRotated(90,1,0,0); + auxSolidCylinder(0.4, 14); + glPopMatrix(); + + glPushMatrix(); + glTranslated(0, 0.75, 5); + gluQuadricDrawStyle (quadObj, GLU_FILL); + gluDisk(quadObj,0.35, 0.5,30,30); + glPopMatrix(); + + glPushMatrix(); + glTranslated(0, 0.75, -9); + gluQuadricDrawStyle (quadObj, GLU_FILL); + gluDisk(quadObj,0.35, 0.5,30,30); + glPopMatrix(); +} + +void pipes(GLUquadricObj *quadObj){ + + glPushMatrix(); + glTranslated( 0, 0, 0); + pipe(quadObj); + glPopMatrix(); + + glPushMatrix(); + glTranslated( -1, 0, 0); + pipe(quadObj); + glPopMatrix(); + + glPushMatrix(); + glTranslated( -0.5, 0.87, 0); + pipe(quadObj); + glPopMatrix(); + +} + +void beidge_part1(){ + + glPushMatrix(); + glTranslated(5.3, 1.7, -11.38); + glRotated(-55,0,0,1); + auxSolidBox(4.5, 0.5, 0.25); + glPopMatrix(); + + + glPushMatrix(); + glTranslated(5.3, 1.7, -8.65); + glRotated(-55,0,0,1); + auxSolidBox(4.5, 0.5, 0.25); + glPopMatrix(); + + for(float i = 0, h = 0, h2 = 0; i < 6; i++, h += 0.5, h2 += 0.35){ + glPushMatrix(); + glTranslated(6.14 - h2 , 0.5 + h , -10); + auxSolidBox(0.5, 0.15, 2.8); + glPopMatrix(); + + } + + glPushMatrix(); + glTranslated(5.3, 4.5, -8.65); + glRotated(36,0,0,1); + auxSolidCylinder(0.08, 4); + glPopMatrix(); + + glPushMatrix(); + glTranslated(5.3, 4.5, -11.38); + glRotated(36,0,0,1); + auxSolidCylinder(0.08, 4); + glPopMatrix(); + + for(float i = 0,h=0, h1=0; i < 3; i++, h += 0.7, h1+=0.48){ + glPushMatrix(); + glTranslated(6.15 - h, 2.3+(h1*2), -11.38); + auxSolidCylinder(0.08, 3); + glPopMatrix(); + } + + for(float i = 0,h=0, h1=0; i < 3; i++, h += 0.7, h1+=0.48){ + glPushMatrix(); + glTranslated(6.15 - h, 2.3+(h1*2), -8.65); + auxSolidCylinder(0.08, 3); + glPopMatrix(); + } + +} + +void beidge_part2(){ + + glPushMatrix(); + glTranslated(-5.3, 1.7, -11.38); + glRotated(55,0,0,1); + auxSolidBox(4.5, 0.5, 0.25); + glPopMatrix(); + + + glPushMatrix(); + glTranslated(-5.3, 1.7, -8.65); + glRotated(55,0,0,1); + auxSolidBox(4.5, 0.5, 0.25); + glPopMatrix(); + + + for(float i = 0, h = 0, h2 = 0; i < 6; i++, h += 0.5, h2 += 0.35){ + glPushMatrix(); + glTranslated(-6.14 + h2 , 0.5 + h , -10); + auxSolidBox(0.5, 0.15, 2.8); + glPopMatrix(); + } + + glPushMatrix(); + glTranslated(-5.3, 4.5, -8.65); + glRotated(-36,0,0,1); + auxSolidCylinder(0.08, 4); + glPopMatrix(); + + glPushMatrix(); + glTranslated(-5.3, 4.5, -11.38); + glRotated(-36,0,0,1); + auxSolidCylinder(0.08, 4); + glPopMatrix(); + + for(float i = 0,h=0, h1=0; i < 3; i++, h += 0.7, h1+=0.48){ + glPushMatrix(); + glTranslated(-6.15 + h, 2.3+(h1*2), -11.38); + auxSolidCylinder(0.08, 3); + glPopMatrix(); + } + + for(float i = 0,h=0, h1=0; i < 3; i++, h += 0.7, h1+=0.48){ + glPushMatrix(); + glTranslated(-6.15 + h, 2.3+(h1*2), -8.65); + auxSolidCylinder(0.08, 3); + glPopMatrix(); + } +} + +void beidge_part3(){ + + + glPushMatrix(); + glTranslated(-3.75, 5.27,-8.65); + glRotated(90,0,0,1); + auxSolidCylinder(0.08, 9.54); + glPopMatrix(); + + for(float i = 0,h=0; i < 13; i++, h += 0.7){ + glPushMatrix(); + glTranslated(4.15 - h, 4.2, -8.65); + auxSolidCylinder(0.08, 1.7); + glPopMatrix(); + } + + glPushMatrix(); + glTranslated(-3.75, 5.27, -11.38); + glRotated(90,0,0,1); + auxSolidCylinder(0.08, 9.54); + glPopMatrix(); + + for(float i = 0,h=0; i < 13; i++, h += 0.7){ + glPushMatrix(); + glTranslated(4.15 - h, 4.2, -11.38); + auxSolidCylinder(0.08, 1.7); + glPopMatrix(); + } +} + +void bridge(){ + glColor3f(.55,.54,.58); + glPushMatrix(); + glTranslated(0,3.56,-10); + auxSolidBox(8.5, 0.25, 3); + glPopMatrix(); + + glPushMatrix(); + glTranslated(0, 0, 0); + beidge_part1(); + glPopMatrix(); + + glPushMatrix(); + glTranslated(0, 0, 0); + beidge_part2(); + glPopMatrix(); + + glPushMatrix(); + glTranslated(0, 0, 0); + beidge_part3(); + glPopMatrix(); + +} + + +void part_box(){ + glEnable(GL_TEXTURE_2D); + glBindTexture(GL_TEXTURE_2D, yachik_tex); + glColor3f(1,1,1); + glBegin(GL_QUADS); + glTexCoord2d(0,0); + glVertex3d( 2, 0, 0); + glTexCoord2d(0,1); + + glVertex3d(-2, 0, 0); + glTexCoord2d(1,1); + + glVertex3d(-2, -4, 0); + glTexCoord2d(1,0); + + glVertex3d( 2, -4, 0); + glEnd(); + glDisable(GL_TEXTURE_2D); +} + +void box() +{ + glPushMatrix(); + glTranslated(0,0,0); + part_box(); + glPopMatrix(); + + glPushMatrix(); + glTranslated(0,0,-4); + part_box(); + glPopMatrix(); + + glPushMatrix(); + glTranslated(-2,0,-2); + glRotated(90, 0,1,0); + part_box(); + glPopMatrix(); + + glPushMatrix(); + glTranslated(2,0,-2); + glRotated(90, 0,1,0); + part_box(); + glPopMatrix(); + + glPushMatrix(); + glTranslated(0,0,0); + glRotated(90, 1,0,0); + part_box(); + glPopMatrix(); + + glPushMatrix(); + glTranslated(0,-4,0); + glRotated(90, 1,0,0); + part_box(); + glPopMatrix(); + + + +} + +void table_part(){ + glPushMatrix(); + auxSolidBox(0.16, 2, 0.16); + glPopMatrix(); +} + +void table(){ + glColor3f(.57,.39,.32); + glPushMatrix(); + glTranslated(0,0,0); + //glRotated(90, 1,0,0); + auxSolidBox(3, 0.15, 1.5); + glPopMatrix(); + + glPushMatrix(); + glTranslated(1.4,-1, 0.5); + table_part(); + glPopMatrix(); + + glPushMatrix(); + glTranslated(-1.4,-1,0.5); + table_part(); + glPopMatrix(); + + glPushMatrix(); + glTranslated(1.4,-1,-0.5); + table_part(); + glPopMatrix(); + + glPushMatrix(); + glTranslated(-1.4,-1,-0.5); + table_part(); + glPopMatrix(); + +} + +void stool_part(){ + glPushMatrix(); + auxSolidBox(0.16, 1.4, 0.16); + glPopMatrix(); +} + +void stool(){ + glColor3f(.57,.39,.32); + glPushMatrix(); + glTranslated(0,-0.3,0); + //glRotated(90, 1,0,0); + auxSolidBox(1.2, 0.15, 1.2); + glPopMatrix(); + + glPushMatrix(); + glTranslated(0.5,-1, 0.5); + stool_part(); + glPopMatrix(); + + glPushMatrix(); + glTranslated(-0.5,-1,0.5); + stool_part(); + glPopMatrix(); + + glPushMatrix(); + glTranslated(0.5,-1,-0.5); + stool_part(); + glPopMatrix(); + + glPushMatrix(); + glTranslated(-0.5,-1,-0.5); + stool_part(); + glPopMatrix(); +} + +/* +void Lamp(){ + float nor[4]; + glGetLightfv(GL_LIGHT0, GL_POSITION, nor); + glColor3d(1,1,1); + glPushMatrix(); + glTranslated( nor[0], nor[1], nor[2]); + auxSolidSphere(1); + glPopMatrix(); +} + +void Lamp2(){ + float nor[4]; + glGetLightfv(GL_LIGHT1, GL_POSITION, nor); + glColor3d(1,0,0); + glPushMatrix(); + glTranslated( nor[0], nor[1], nor[2]); + auxSolidSphere(1); + glPopMatrix(); +} +*/ + +void renderScene(void) +{ + int i,j; + if (deltaMove) + computePos(deltaMove); + + if (deltaAngle) + computeDir(deltaAngle); + + if(vA) + computeAlpha(); + + if(vB) + computeBate(); + + if(vS) + computeScale(); + + GLUquadricObj *quadObj = gluNewQuadric (); + + // + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + LookAt(); + //Lamp(); + //Lamp2(); + glPushMatrix(); + glRotated(alpha, 0,1,0); // Y + glRotated(beta, -1,0,0); + glScalef(scale, scale, scale); + + glPushMatrix(); + glTranslated(7.3,3.5,14); + glScalef(0.8, 0.8, 0.8); + box(); + glPopMatrix(); + + glPushMatrix(); + glTranslated( 9.7, 9, 8); + glRotated(90, 0,1,0); + windows(); + glPopMatrix(); + + glPushMatrix(); + glTranslated( 9.7, 9, -8); + glRotated(90, 0,1,0); + windows(); + glPopMatrix(); + + glPushMatrix(); + glTranslated( 0, 7.2, 0); + crane(); + glPopMatrix(); + + glPushMatrix(); + glTranslated(8, -1.2, 15); + glRotated(90, 0,1,0); + glRotated(9, 1,0,0); + stairs(); + glPopMatrix(); + + + glPushMatrix(); + glTranslated(0, 0, 0); + pipes(quadObj); + glPopMatrix(); + + glPushMatrix(); + glTranslated(0,0,0); + bridge(); + glPopMatrix(); + + glPushMatrix(); + glTranslated(0, 2.2, 15); + table(); + glPopMatrix(); + + glPushMatrix(); + glTranslated(-5, 2.2, 15); + table(); + glPopMatrix(); + + + glPushMatrix(); + glTranslated(0, 1.9, 13); + stool(); + glPopMatrix(); + + glPushMatrix(); + glTranslated(-5, 1.9, 13); + stool(); + glPopMatrix(); + + roomArea(); + + glPopMatrix(); + + + gluDeleteQuadric (quadObj); + glutSwapBuffers(); +} + + + +int main(int argc, char **argv) { + + + float sp[4] = {1,1,1,1}; + float dir[3] = {-1,-1,-1}; + float color[4] = {1,0,0,1}; + GLfloat mat_specular[] = {1,1,1,1}; + + //float sp2[4] = {0,0,0,0}; + float dir2[3] = {-1,-1,-1}; + float color2[4] = { 0,1,1,1}; + + // GLUT + glutInit(&argc, argv); + glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA); + glutInitWindowPosition(100,100); + glutInitWindowSize(800,800); + glutCreateWindow("Tatarinov Vadim KB-61"); + + glEnable(GL_DEPTH_TEST); + glEnable(GL_COLOR_MATERIAL); + + glEnable(GL_LIGHTING); + glEnable(GL_LIGHT0); + glEnable(GL_LIGHT1); + + glLightfv(GL_LIGHT0, GL_SPECULAR, sp); + + glLightfv(GL_LIGHT0, GL_POSITION, pos); + glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, dir); + glLightfv(GL_LIGHT0, GL_DIFFUSE, color); + + glLightfv(GL_LIGHT1, GL_SPECULAR, sp); + + glLightfv(GL_LIGHT1, GL_POSITION, pos2); + glLightfv(GL_LIGHT1, GL_SPOT_DIRECTION, dir2); + glLightfv(GL_LIGHT1, GL_DIFFUSE, color2); + + + glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular); + glMaterialf(GL_FRONT, GL_SHININESS, 128.0); + // + glutDisplayFunc(renderScene); + glutReshapeFunc(changeSize); + glutIdleFunc(renderScene); + + glutSpecialFunc(pressKey); + // + glutIgnoreKeyRepeat(1); + glutSpecialUpFunc(releaseKey); + + // + sky_image = auxDIBImageLoad("D:\\OPenGL\\OPenGL\\ODZ\\ODZ\\Debug\\sky.bmp"); + glGenTextures(1, &sky_tex); + glBindTexture(GL_TEXTURE_2D, sky_tex); + + glPixelStorei(GL_UNPACK_ALIGNMENT, 1); + gluBuild2DMipmaps(GL_TEXTURE_2D, 3, + sky_image->sizeX, + sky_image->sizeY, + GL_RGB, GL_UNSIGNED_BYTE, + sky_image->data); + + yachik_image = auxDIBImageLoad("D:\\OPenGL\\OPenGL\\ODZ\\ODZ\\Debug\\yachik.bmp"); + glGenTextures(1, &yachik_tex); + glBindTexture(GL_TEXTURE_2D, yachik_tex); + + glPixelStorei(GL_UNPACK_ALIGNMENT, 1); + gluBuild2DMipmaps(GL_TEXTURE_2D, 3, + yachik_image->sizeX, + yachik_image->sizeY, + GL_RGB, GL_UNSIGNED_BYTE, + yachik_image->data); + + + // + glutMainLoop(); + return 1; + +} + diff --git a/README.md b/README.md new file mode 100644 index 0000000..37c42fc --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# 3D-Factory-Scene diff --git a/ipch/odz-59ed505e/odz-4fae43f9.ipch b/ipch/odz-59ed505e/odz-4fae43f9.ipch new file mode 100644 index 0000000..33f91e3 Binary files /dev/null and b/ipch/odz-59ed505e/odz-4fae43f9.ipch differ