Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows CUI (Console User Interface) with ported functionality from … #276

Open
wants to merge 48 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
17f6768
Windows CUI (Console User Interface) with ported functionality from …
trevorsandy Apr 14, 2017
72cd9a7
Build both Windows CUI and GUI projects in AppVeyor
trevorsandy Apr 16, 2017
7f273de
Add _CONSOLE definition to AppVeyor.yml
trevorsandy Apr 16, 2017
0410cfb
Enable openexr _eLut and _toFloat projects to SSE2 and AVX configurat…
trevorsandy Apr 17, 2017
81f6bf0
Fix extra entries in openexr_eLut, _toFloat project files
trevorsandy Apr 17, 2017
580a02f
Windows CUI cleanup and document
trevorsandy Apr 18, 2017
4ca70cd
Refactor appvoyer.yml
trevorsandy Apr 19, 2017
103a7e7
Check appveyor environment variables
trevorsandy Apr 19, 2017
bb7f34b
Merge branch 'master' of https://github.com/POV-Ray/povray into windo…
trevorsandy May 18, 2017
f283e96
Remove strdup warning
trevorsandy May 18, 2017
ce4ea36
Fix povray.conf and ini lookup. Refactor autobuild scripts.
trevorsandy May 20, 2017
a702944
Merge remote-tracking branch 'POV-Ray/master' into windows-cui
trevorsandy Jun 21, 2017
315bb46
Bump version number and update change log.
c-lipka Jun 22, 2017
e3c1738
Fix a blunder in `version.h`.
c-lipka Jun 22, 2017
9808f53
Update list of required packages for Unix builds. ( #294)
wfpokorny Jun 24, 2017
09f1014
Bump version number in the most essential places.
c-lipka Jun 26, 2017
b0557b8
Update bulk of source code file header comments.
c-lipka Jun 26, 2017
7195810
Update remaining source code file header comments.
c-lipka Jun 26, 2017
7957ad5
Elimiate unnecessary version numbers from HTML Help infrastructure.
c-lipka Jun 29, 2017
43c8fa8
Merge remote-tracking branch 'POV-Ray/master' into windows-cui
trevorsandy Jun 29, 2017
71b165f
Eliminate various explicit mentions of version numbers.
c-lipka Jul 1, 2017
bdbb0b5
Bump version threshold for new features to 3.8.
c-lipka Jul 2, 2017
b108748
Demote version back to alpha status for now.
c-lipka Jul 5, 2017
9f644fe
Add some debugging aids.
c-lipka Jul 7, 2017
463442e
Update version number in AppVeyor automated build config.
c-lipka Jul 8, 2017
443ae79
Major overhaul of version number macro system in `version.h`.
c-lipka Jul 8, 2017
2c3afc4
[ci skip] Update source documentation of version numbering.
c-lipka Jul 9, 2017
bfeb999
[ci skip] Include SDL2 v2.0.5 source files - Windows and Unix
trevorsandy Aug 13, 2017
34f9bc2
Port and upgrade SDL display window
trevorsandy Aug 13, 2017
54d6b16
Fix VS solution file, minor tweaks
trevorsandy Aug 13, 2017
7a99e7c
[ci skip] Update and fix `README.md`.
c-lipka Aug 18, 2017
7bddd06
Enable and require C++11.
c-lipka Jun 24, 2017
1dbca0b
Remove dependency on `boost::tr1` to fix issue #317.
c-lipka Sep 6, 2017
03e27c6
Update docs.
c-lipka Sep 10, 2017
8bc4881
Update some more version numbers thoughout the repo.
c-lipka Sep 10, 2017
bbb4a35
Add Unix command-line option to print short version number.
c-lipka Sep 10, 2017
5cdb3f7
Update POV-Ray's mechanism to inherit settings from older versions on…
c-lipka Sep 10, 2017
d850f92
Add Windows scripts to extract version information from `base/version…
c-lipka Sep 12, 2017
7d225a0
Fix bug in Windows version info macros.
c-lipka Sep 17, 2017
0358da0
Change ambient default to 0.0 (#305)
LeForgeron Sep 20, 2017
e39f5af
Extension of ovus (#306)
LeForgeron Sep 20, 2017
844dae6
Minor beautification of previous commits.
c-lipka Sep 20, 2017
17e3f64
Modify doxygen invocation scripts to not rely on `unix/VERSION` for v…
c-lipka Sep 20, 2017
12fbab3
Change camera `right` default length to output image aspect ratio.
c-lipka Sep 21, 2017
7d56489
[ci skip] Merge 'POV-Ray/release/v3.8.0' into windows-cui
trevorsandy Sep 23, 2017
526cfd8
Patch POV-Ray/release/v3.8.0 merge
trevorsandy Sep 23, 2017
8b46cc3
Fix POV-Ray/release/v3.8.0 merge
trevorsandy Sep 23, 2017
1ceb827
Format quoted command line arguments
trevorsandy Sep 26, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,15 @@ $RECYCLE.BIN/
# Mac crap
.DS_Store

# ========================================
# POV-Ray Library auto-generated artefacts
# ========================================
/libraries/ilmbase/Half/eLut.h
/libraries/ilmbase/Half/toFloat.h
/libraries/png/pnglibconf.h
/libraries/tiff/libtiff/tif_config.h
/libraries/tiff/libtiff/tiffconf.h

# ===============================
# POV-Ray Windows build artefacts
# ===============================
Expand All @@ -155,6 +164,7 @@ $RECYCLE.BIN/
/windows/vs*/bin64/
/windows/vs*/build/
/windows/vs*/ipch/
/windows/vs*/tests/

# ============================
# POV-Ray Unix build artefacts
Expand Down
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ matrix:
compiler: clang

sudo: false
dist: trusty

addons:
apt:
Expand Down
26 changes: 18 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,22 @@
[![AppVeyor Build status](https://img.shields.io/appveyor/ci/c-lipka/povray-exwy4.svg?label=appveyor)](https://ci.appveyor.com/project/c-lipka/povray-exwy4 "AppVeyor: Windows Server 2012 with Visual Studio 2015")
[![Travis CI Build Status](https://img.shields.io/travis/POV-Ray/povray.svg?label=travis%20ci)](https://travis-ci.org/POV-Ray/povray "Travis CI: Ubuntu 12.04 LTE 64-bit with gcc 4.6; OS X 10.11 with clang 4.2")
[![Coverity Code Analysis](https://scan.coverity.com/projects/269/badge.svg)](https://scan.coverity.com/projects/pov-ray "Coverity: Static Code Analysis")
[![Maintenance Status](https://img.shields.io/maintenance/yes/2017.svg)](README.md "Last edited 2017-03-24")
[![Maintenance Status](https://img.shields.io/maintenance/yes/2017.svg)](README.md "Last edited 2017-08-18")

- [License](#license)
- [Forums](#forums)
- [Bug Reports](#bug-reports)
- [Offician Binaries](#official-binaries)
- [Building POV-Ray](#building-pov-ray)
- [IDE Versions](#ide-versions)
- [3D Modeller](#3d-modeller)
- [Documentation](#documentation)
- [Contacting Us](#contacting-us)

License
--------------------------------------

The source for POV-Ray v3.7 is licensed under the AGPL3. The documentation is under the
As of version v3.7, the source for POV-Ray is licensed under the AGPL3. The documentation is under the
Creative Commons Attribution-Noncommercial-ShareAlike 2.5 license, and support files such
as SDL includes, macros, sample scenes and so forth are under the Creative Commons Attribution-ShareAlike
3.0 Unported License (see each file header for the specific one).
Expand Down Expand Up @@ -43,15 +53,15 @@ obtained via http://www.povray.org/download/. We do intend to provide Mac OS X
binaries shortly, but these will be console-mode only (based on the unix build).

Official Windows binaries of selected development versions are made availabe at
https://github.com/POV-Ray/povray/projects on a semi-irregular basis.
https://github.com/POV-Ray/povray/releases on a semi-irregular basis.

Building POV-Ray
--------------------------------------

At this point in time we generally recommend building from the latest version of the
[3.7-stable branch](https://github.com/POV-Ray/povray/tree/3.7-stable). Alternatively,
[`latest-stable` branch](https://github.com/POV-Ray/povray/tree/latest-stable). Alternatively,
you may want to opt for a recent [tagged version](https://github.com/POV-Ray/povray/tags)
to test-drive features that have been added since the last stable release.
to test-drive features that have been added since the latest stable release.

_Please do not build directly from the master branch_ (or any other non-stable branch
for that matter), as versions from that branch may report ambiguous version numbers,
Expand All @@ -65,14 +75,14 @@ otherwise your build _will not work_), and also on Mac systems (console mode onl
an appropriately-modified version of the unix build - not currently provided by us).

If you are using an operating system with a package or ports system such as
Ubuntu or FreeBSD, you may like to check whether or not POV-Ray 3.7 is available
Ubuntu or FreeBSD, you may like to check whether or not POV-Ray is available
via that route.

IDE versions
--------------------------------------

Currently the only version of POV-Ray with an IDE as such is the Windows build.
We do want to change that, though. With the release of POV-Ray 3.7 we have added
We do want to change that, though. With the release of POV-Ray v3.7 we have added
a clear split between the backend (renderer) and frontend (UI or console), along
with a C++ layer which abstracts this into a fairly easily-understood set of
classes (VFE, aka 'Virtual Front End').
Expand All @@ -89,7 +99,7 @@ Putting it another way: we consider getting a cross-platform IDE a high priority

POV-Ray does not currently have its own 3d modelling application (at least, not one
in a usable state). We do own the rights to the Moray modeller, which was formerly
commercial, but it needs a little work to get it working with v3.7. It is also
commercial, but it needs a little work to get it working with v3.7 or later. It is also
Windows only (due to its use of MFC). Nevertheless we will be adding the source
to the repository at a future date.

Expand Down
47 changes: 40 additions & 7 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,70 @@
version: 3.7+av{build}
version: 3.8+av{build}
pull_requests:
do_not_increment_build_number: true
branches:
except:
- coverity_scan

image: Visual Studio 2015
image: Visual Studio 2017

shallow_clone: true

matrix:
fast_finish: true

environment:
PovBuildDefs: POV_RAY_IS_AUTOBUILD=1;POV_RAY_BUILD_ID="av$(APPVEYOR_BUILD_NUMBER)";BUILT_BY="AppVeyor";
GUIProj: windows/vs2015/povray.sln
GUIDefs: POV_RAY_IS_AUTOBUILD=1;POV_RAY_BUILD_ID="av$(APPVEYOR_BUILD_NUMBER)";BUILT_BY="AppVeyor";
CUIProj: windows/vs2015/console.vcxproj
CUIDefs: $(GUIDefs)VERSION_BASE="3.8";_CONSOLE;
matrix:
- configuration: Release
# Graphic User Interface (GUI) build matrix
- PovBuildProj: $(GUIProj)
PovBuildDefs: $(GUIDefs)
configuration: Release
platform: x64
bin_dir: bin64
artifact_suffix: -Win64
- configuration: Release-SSE2
- PovBuildProj: $(GUIProj)
PovBuildDefs: $(GUIDefs)
configuration: Release-SSE2
platform: Win32
bin_dir: bin32
artifact_suffix: -Win32-sse2
- configuration: Release
- PovBuildProj: $(GUIProj)
PovBuildDefs: $(GUIDefs)
configuration: Release
platform: Win32
bin_dir: bin32
artifact_suffix: -Win32
# Console User Interface (CUI) build matrix
- PovBuildProj: $(CUIProj)
PovBuildDefs: $(CUIDefs)
configuration: Release
platform: x64
bin_dir: bin64
artifact_suffix: -Win64
- PovBuildProj: $(CUIProj)
PovBuildDefs: $(CUIDefs)
configuration: Release-SSE2
platform: Win32
bin_dir: bin32
artifact_suffix: -Win32-sse2
- PovBuildProj: $(CUIProj)
PovBuildDefs: $(CUIDefs)
configuration: Release
platform: Win32
bin_dir: bin32
artifact_suffix: -Win32

install:
- ECHO Check PovBuildProj=%PovBuildProj%
- ECHO Check PovBuildDefs=%PovBuildDefs%

before_build:

build:
project: windows/vs2015/povray.sln
project: $(PovBuildProj)
parallel: true
verbosity: minimal

Expand Down
51 changes: 43 additions & 8 deletions changes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Notes:
For example, to read FS#270, visit:
http://bugs.povray.org/270

(Note: As of 3.7.1-beta.8 our flyspray bug tracker is officially mothballed,
(Note: As of v3.7.1-beta.8 our flyspray bug tracker is officially mothballed,
and we no longer refer to it in the changelog. Any flyspray reports that
were still open at that point have been duplicated as GitHub issues titled
"Port of FSxxx - ...")
Expand All @@ -29,21 +29,56 @@ should be located in the same directory as this file is.
------------------------------------------------------------------------------


Changes between 3.7.1 and 3.7.2-TBD
===================================
Changes between v3.7.1-rc.1 and v3.8.0-???
==========================================

This version is still under active development, and not finalized yet.

TBD
NOTE: This release cycle has been redesignated v3.8.0. There will not be a
v3.7.1 release proper.

Fixed or Mitigated Bugs
-----------------------

Reported via GitHub:

- #317 ("Boost 1.65.0 incompatibility")

Changes between 3.7.1-TBD and 3.7.1
===================================
Changed Behaviour
-----------------

- Any new behaviour formerly activated by `#version 3.71` now requires
`#version 3.8` (or higher); specifying `#version 3.71` will trigger a
corresponding warning.
- Some defaults have been changed (requires `#version 3.8` as the _very first_
statement of the scene, or a corresponding command line / INI setting):
- `ambient` now defaults to 0.0 instead of 0.1.
- Camera `right` vector length now defaults to the output image aspect
ratio (presuming square pixels) instead of 1.33.

Other Noteworthy
----------------

- The source code now requires a C++11-compliant compiler.
- Added `--generation` command-line switch to POV-Ray for Unix, which will
cause POV-Ray to print its abbreviated version number to standard output.


Changes between 3.7.1-beta.9 and 3.7.1-rc.1
===========================================

Fixed or Mitigated Bugs
-----------------------

Miscellaneous:

TBD
- Fixed a bug that broke builds without optimized noise.
- Fixed an issue in optimized noise when building on Unix with C++ compiler
switches disabling any of the relevant enhanced instruction sets (e.g.
`CXXFLAGS=-mno-fma`).


Changes between 3.7.1-beta.7 and 3.7.1-beta.9
Changes between 3.7.1-beta.8 and 3.7.1-beta.9
=============================================

Fixed or Mitigated Bugs
Expand Down
6 changes: 3 additions & 3 deletions distribution/include/ior.inc
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.

// Persistence of Vision Ray Tracer version 3.7 Include File
// Persistence of Vision Ray Tracer version 3.8 Include File
// File: ior.inc
// Last updated: 2015-06-24
// Last updated: 2017-07-02
// Description: This file contains constants for ior and dispersion of various materials.

#ifndef(Ior_Inc_Temp)
#declare Ior_Inc_Temp=version;
#version 3.71;
#version 3.8;

#ifdef(View_POV_Include_Stack)
#debug "including ior.inc\n"
Expand Down
2 changes: 1 addition & 1 deletion distribution/ini/allanim.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
;; Persistence Of Vision Raytracer version 3.8 sample INI file.
Fatal_Error_Command=command /C type fatal.out>>allscene.err
Fatal_File=on
-P +b100 +X100 +a0.05 +r4 -j
Expand Down
2 changes: 1 addition & 1 deletion distribution/ini/allstill.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
;; Persistence Of Vision Raytracer version 3.8 sample INI file.
Fatal_Error_Command=command /C type fatal.out>>allscene.err
User_Abort_Command=command /C Echo get out>userabor.mes
Fatal_File=on
Expand Down
2 changes: 1 addition & 1 deletion distribution/ini/low.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
;; Persistence Of Vision Raytracer version 3.8 sample INI file.
;; LOW.INI
;;
Quality=4
Expand Down
2 changes: 1 addition & 1 deletion distribution/ini/pngflc.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
;; Persistence Of Vision Raytracer version 3.8 sample INI file.
;; PNGFLC.INI
;;
;; Assuming Input_File=myfile.pov
Expand Down
2 changes: 1 addition & 1 deletion distribution/ini/pngfli.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
;; Persistence Of Vision Raytracer version 3.8 sample INI file.
;; PNGFLI.INI
;;
;; Assuming Input_File=myfile.pov
Expand Down
2 changes: 1 addition & 1 deletion distribution/ini/povray.ini
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
; PERSISTENCE OF VISION RAY TRACER
;
; POV-Ray VERSION 3.7
; POV-Ray VERSION 3.8
;
; SAMPLE POVRAY.INI FILE
;
Expand Down
2 changes: 1 addition & 1 deletion distribution/ini/res120.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
;; Persistence Of Vision Raytracer version 3.8 sample INI file.
;; RES120.INI
;;
Width=120
Expand Down
2 changes: 1 addition & 1 deletion distribution/ini/res1k.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
;; Persistence Of Vision Raytracer version 3.8 sample INI file.
;; RES1K.INI
;;
Width=1024
Expand Down
2 changes: 1 addition & 1 deletion distribution/ini/res320.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
;; Persistence Of Vision Raytracer version 3.8 sample INI file.
;; RES320.INI
;;
Width=320
Expand Down
2 changes: 1 addition & 1 deletion distribution/ini/res640.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
;; Persistence Of Vision Raytracer version 3.8 sample INI file.
;; RES640.INI
;;
Width=640
Expand Down
2 changes: 1 addition & 1 deletion distribution/ini/res800.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
;; Persistence Of Vision Raytracer version 3.8 sample INI file.
;; RES800.INI
;;
Width=800
Expand Down
2 changes: 1 addition & 1 deletion distribution/ini/slow.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
;; Persistence Of Vision Raytracer version 3.8 sample INI file.
;; SLOW.INI
;;
Quality=11
Expand Down
2 changes: 1 addition & 1 deletion distribution/ini/tgaflc.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
;; Persistence Of Vision Raytracer version 3.8 sample INI file.
;; TGAFLC.INI
;;
;; Assuming Input_File=myfile.pov
Expand Down
2 changes: 1 addition & 1 deletion distribution/ini/tgafli.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
;; Persistence Of Vision Raytracer version 3.8 sample INI file.
;; TGAFLI.INI
;;
;; Assuming Input_File=myfile.pov
Expand Down
2 changes: 1 addition & 1 deletion distribution/ini/zipflc.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
;; Persistence Of Vision Raytracer version 3.8 sample INI file.
;; ZIPFLC.INI
;;
;; Assuming Input_File=myfile.pov
Expand Down
2 changes: 1 addition & 1 deletion distribution/ini/zipfli.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
;; Persistence Of Vision Raytracer version 3.7 sample INI file.
;; Persistence Of Vision Raytracer version 3.8 sample INI file.
;; ZIPFLI.INI
;;
;; Assuming Input_File=myfile.pov
Expand Down
Binary file not shown.
2 changes: 1 addition & 1 deletion distribution/scenes/camera/user_defined.pov
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
//
// +w900 +h450 +a0.1

#version 3.71;
#version 3.8;
global_settings { assumed_gamma 1 }

#include "shapes.inc"
Expand Down
8 changes: 4 additions & 4 deletions distribution/scenes/objects/torus2.pov
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
// PoVRay 3.7.1 Scene File "torus2.pov"
// PoVRay 3.8 Scene File "torus2.pov"
// author: Christoph Lipka
// date: 2016-05-05
// date: 2017-07-02
//
// Demonstrates the use and effect of the torus spindle modes for
// self-intersecting torus primitives, as introduced with POV-Ray 3.7.1
// self-intersecting torus primitives, as introduced with POV-Ray 3.8
//
// +w200 +h200 +kfi1 +kff4 +ua
//------------------------------------------------------------------------

#version 3.71;
#version 3.8;
global_settings{ assumed_gamma 1.0 }

camera {
Expand Down
Loading