Skip to content

Commit 4f8ab04

Browse files
committed
Merge branch 'master' into autobuild/alpha
2 parents 6a05eea + f24d656 commit 4f8ab04

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+2585
-1281
lines changed

.gitignore

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,9 +221,25 @@ $RECYCLE.BIN/
221221
# Files created by make in various subdirectories
222222
.dirstamp
223223

224+
# =====================
225+
# POV-Ray Miscellaneous
226+
# =====================
227+
228+
/internal/
229+
/legacy-license/
230+
224231
# =========================
225232
# POV-Ray Doxygen artefacts
226233
# =========================
227234

228235
/tools/doxygen-warnings.log
229236
/tools/doxygen/source-doc/
237+
238+
# ==========================
239+
# POV-Ray HTMLHelp artefacts
240+
# ==========================
241+
242+
/tools/windows/htmlhelp/input
243+
/tools/windows/htmlhelp/output
244+
/tools/windows/htmlhelp/debug.txt
245+
/tools/windows/htmlhelp/flielist.txt

README.md

Lines changed: 11 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,11 @@
11
[POV-Ray](http://www.povray.org/) - The Persistence of Vision Raytracer
22
=======================================================================
33

4-
This document is a WIP
5-
--------------------------------------
6-
7-
This document is still a work in progress. While the POV-Ray project itself
8-
has existed for more than 20 years, this is the first time we have done a
9-
release on github, so please bear with us - it's a little bare at the moment.
10-
11-
Last edit: 2016-10-09
12-
13-
Build Status
14-
--------------------------------------
15-
16-
We're constantly monitoring the code quality of (almost) all branches and pull requests,
17-
to make sure the code builds ok on our major target platforms. The current status of
18-
our _master branch_ is reported as follows:
19-
20-
- [![Build status](https://ci.appveyor.com/api/projects/status/5953wf13f9soyw23/branch/master?svg=true)](https://ci.appveyor.com/project/c-lipka/povray-exwy4)
21-
(AppVeyor: Windows Server 2012 with Visual Studio 2015)
22-
- [![Build Status](https://semaphoreci.com/api/v1/pov-ray/povray/branches/master/shields_badge.svg)](https://semaphoreci.com/pov-ray/povray)
23-
(Semaphore: Ubuntu 14.04 LTE 64-bit with gcc 4.8)
24-
- [![Build Status](https://travis-ci.org/POV-Ray/povray.svg?branch=master)](https://travis-ci.org/POV-Ray/povray)
25-
(Travis CI: Ubuntu 12.04 LTE 64-bit with gcc 4.6; OS X 10.11 with clang 4.2)
4+
[![Semaphore Build Status](https://semaphoreci.com/api/v1/pov-ray/povray/branches/master/shields_badge.svg?label=Semaphore)](https://semaphoreci.com/pov-ray/povray "Semaphore: Ubuntu 14.04 LTE 64-bit with gcc 4.8")
5+
[![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")
6+
[![Travis CI Build Status](https://img.shields.io/travis/POV-Ray/povray.svg?label=travis ci)](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")
7+
[![Coverity Code Analysis](https://scan.coverity.com/projects/269/badge.svg)]( "Coverity: Static Code Analysis")
8+
[![Maintenance Status](https://img.shields.io/maintenance/yes/2016.svg)]( "Last edited 2016-12-20")
269

2710
License
2811
--------------------------------------
@@ -59,6 +42,9 @@ At this point in time, the only platform for which the project distributes pre-b
5942
obtained via http://www.povray.org/download/. We do intend to provide Mac OS X
6043
binaries shortly, but these will be console-mode only (based on the unix build).
6144

45+
Official Windows binaries of selected development versions are made availabe at
46+
https://github.com/POV-Ray/povray/projects on a semi-irregular basis.
47+
6248
Building POV-Ray
6349
--------------------------------------
6450

@@ -118,9 +104,9 @@ of POV-Ray come with documentation. For the Unix build, this is in the form of a
118104
manpage giving basic usage, and full HTML-based documentation. For the Windows
119105
version, there is a HtmlHelp (.CHM) file provided.
120106

121-
The official location for the online documentation is http://www.povray.org/documentation/,
122-
however please be aware that at the time of writing this still has the version 3.6 docs.
123-
This will be updated shortly.
107+
The official location for the online documentation is http://www.povray.org/documentation/.
108+
Further information, as well as online documentation for the current development
109+
version, can be found at http://wiki.povray.org.
124110

125111
Contacting Us
126112
--------------------------------------

appveyor.yml

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,16 +37,6 @@ before_build:
3737
- ps: |
3838
$env:devenv = $env:VS140COMNTOOLS + '\..\IDE\devenv'
3939
& $env:devenv windows\vs10\povray.sln /upgrade
40-
$env:pov_autobuild_a = '#define POV_RAY_IS_AUTOBUILD 1'
41-
$env:pov_autobuild_b = '#define POV_RAY_AUTOBUILD_ID "av' + $env:APPVEYOR_BUILD_NUMBER + '"'
42-
(Get-Content source\base\build.h).replace('//{POV_AUTOBUILD_A}', $env:pov_autobuild_a) | Set-Content source\base\build.h
43-
(Get-Content source\base\build.h).replace('//{POV_AUTOBUILD_B}', $env:pov_autobuild_b) | Set-Content source\base\build.h
44-
(Get-Content source\base\build.h).replace('//{POV_AUTOBUILD_C}', $env:pov_autobuild_c) | Set-Content source\base\build.h
45-
(Get-Content source\base\build.h).replace('//{POV_AUTOBUILD_1}', $env:pov_autobuild_1) | Set-Content source\base\build.h
46-
(Get-Content source\base\build.h).replace('//{POV_AUTOBUILD_2}', $env:pov_autobuild_2) | Set-Content source\base\build.h
47-
(Get-Content source\base\build.h).replace('//{POV_AUTOBUILD_3}', $env:pov_autobuild_3) | Set-Content source\base\build.h
48-
(Get-Content source\base\build.h).replace('YOUR NAME (YOUR EMAIL)', $env:pov_authorized_by) | Set-Content source\base\build.h
49-
(Get-Content source\base\build.h).replace('#error "Please fill in BUILT_BY, then remove this line"', '') | Set-Content source\base\build.h
5040
5141
build:
5242
project: windows/vs10/povray.sln

changes.txt

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,9 @@ rests on a 3rd party OS X front-end that we strive to adopt.
4040
To Do
4141
-----
4242

43-
Prior to the release of 3.7.1, the following items still need urgent attention:
43+
Prior to the release of 3.7.1, the following items still need some attention:
4444

45-
- The new features need to be properly documented.
46-
47-
- The Windows version's inbuilt help index needs to be fixed.
45+
- Some of the new features still need to be properly documented.
4846

4947
New Features
5048
------------
@@ -72,8 +70,8 @@ Materials:
7270
- Colour and pigment maps now support non-linear interpolation to achieve more
7371
pleasing gradients.
7472

75-
- Fresnel angle-dependent attenuation can now also be applied to highlights
76-
and the diffuse component for more physical realism.
73+
- Fresnel angle-dependent attenuation can now also be applied to highlights as
74+
well as diffuse and emission components for more physical realism.
7775

7876
Geometric Primitives:
7977

@@ -267,6 +265,7 @@ Reported via GitHub:
267265
- #153 ("vector list trailing comma error sor lathe sphere_sweep")
268266
- #160 ("Port of FS259 - Stack Overflow with the write-directive with missing closing bracket.")
269267
- #161 ("Missing parenthesis on write directive causes crash.")
268+
- #175 ("Coredump due recent 3.7.1 parser updates. ")
270269

271270
Reported via FlySpray:
272271

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
// This work is licensed under the Creative Commons Attribution 3.0 Unported License.
2+
// To view a copy of this license, visit http://creativecommons.org/licenses/by/3.0/
3+
// or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View,
4+
// California, 94041, USA.
5+
6+
// Persistence Of Vision raytracer sample file.
7+
// This file demonstrates the effect of the "fresnel" keyword in the finish block.
8+
//
9+
// -w320 -h240
10+
// -w800 -h600 +a0.3
11+
12+
#version 3.71;
13+
14+
#declare FRESNEL = off;
15+
16+
global_settings {
17+
assumed_gamma 1.0
18+
radiosity {
19+
pretrace_start 0.1
20+
pretrace_end 0.001
21+
count 1600
22+
maximum_reuse 0.1
23+
}
24+
}
25+
26+
#default{ finish{ ambient 0.1 diffuse 0.9 }}
27+
28+
camera {
29+
perspective angle 75
30+
location <0, 1.5,-3>
31+
right x*image_width/image_height
32+
look_at <0,1,0>
33+
}
34+
35+
light_source {
36+
<-3000,3000,-3000> color rgb 0.01
37+
}
38+
39+
plane{ <0,1,0>, 0
40+
pigment{ checker color rgb 1 color rgb 0 }
41+
finish { diffuse albedo 1 }
42+
rotate y*45
43+
}
44+
45+
#macro SampleSphere(P,R,C)
46+
sphere { P+y*R,R
47+
pigment { color C }
48+
finish {
49+
ambient 0
50+
emission 1
51+
fresnel FRESNEL
52+
phong 0
53+
#if (FRESNEL)
54+
diffuse albedo 1
55+
specular albedo 1 roughness 0.001
56+
reflection FRESNEL
57+
#else
58+
diffuse albedo 0.5
59+
specular albedo 0.5 roughness 0.001
60+
reflection { 1 fresnel on }
61+
#end
62+
}
63+
interior { ior 1.7 }
64+
}
65+
#end
66+
67+
68+
SampleSphere(<0,0,0>,1,rgb<1,0.8,0.3>)
69+
SampleSphere(<2,0,2>,1,rgb<0.3,0.8,1.0>)
70+
SampleSphere(<-2,0,2>,1,rgb<0.3,1.0,0.3>)

platform/windows/syspovtask.cpp

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -58,27 +58,19 @@ void WinMemThreadCleanup();
5858
namespace vfePlatform
5959
{
6060

61-
// implemented in `vfe/win/cpuinfo.cpp`
62-
// TODO - Move the implementation into `platform/windows` somewhere.
63-
extern bool GetCPUCount(unsigned int *TotAvailLogical, unsigned int *TotAvailCore, unsigned int *PhysicalNum);
64-
6561
// TODO - Maybe move this somewhere else as well.
66-
static int GetNumberofCPUs (void)
62+
static unsigned int GetNumberofCPUs (void)
6763
{
68-
unsigned logical;
69-
unsigned cores;
70-
unsigned physical;
71-
SYSTEM_INFO sysinfo;
72-
static int result = -1;
64+
SYSTEM_INFO sysinfo;
65+
static unsigned int result = 0;
7366

7467
// we cache the result, since this function is called on each thread startup
75-
if (result != -1)
68+
// TODO - this isn't ideal on systems with hot-pluggable CPUs
69+
if (result != 0)
7670
return result;
7771

7872
GetSystemInfo (&sysinfo) ;
7973
result = sysinfo.dwNumberOfProcessors;
80-
if (GetCPUCount(&logical, &cores, &physical))
81-
result = cores;
8274
return result;
8375
}
8476

@@ -98,9 +90,11 @@ using namespace vfePlatform;
9890
void Task::Initialize ()
9991
{
10092
// NB This is not thread-safe, but we currently don't care.
101-
static volatile int count = 0;
102-
if (GetNumberofCPUs() > 1)
103-
SetThreadIdealProcessor (GetCurrentThread(), (count++ % GetNumberofCPUs()) + 1);
93+
static volatile unsigned int count = 0;
94+
unsigned int numCPUs = GetNumberofCPUs();
95+
// TODO - if numCPUs > 64, we need to do more than this
96+
if (numCPUs > 1)
97+
SetThreadIdealProcessor (GetCurrentThread(), (count++) % numCPUs);
10498
#ifndef _CONSOLE
10599
povwin::WinMemThreadStartup();
106100
#endif

revision.txt

Lines changed: 93 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,101 @@ Notes:
2727
------------------------------------------------------------------------------
2828

2929
------------------------------------------------------------------------------
30-
POV-Ray v???
30+
POV-Ray v3.7.1-???
3131
------------------------------------------------------------------------------
3232

33+
Commit a61c792 on 2016-12-19 by Christoph Lipka
34+
35+
More version string related changes.
36+
37+
Commit 1514773 on 2016-12-19 by Christoph Lipka
38+
39+
Update to Windows help file stylesheet.
40+
41+
Commit 1896f8d on 2016-12-19 by Christoph Lipka
42+
43+
Update `version.h` to allow for build IDs in manual builds.
44+
45+
Commit 5e09f10 on 2016-12-17 by Christoph Lipka
46+
47+
Add new mechanism for automated builds to inject additional defines
48+
into Windows builds.
49+
50+
Commit fbab8ad on 2016-12-17 by Christoph Lipka
51+
52+
Addendum to latest two commits.
53+
54+
Commit 6b4cf74 on 2016-12-17 by Christoph Lipka
55+
56+
Trim down `pov_mem.*` to what's actually still used.
57+
58+
Commit 64ff308 on 2016-12-17 by Christoph Lipka
59+
60+
More changes to simplify official builds, including movement of the
61+
`pov_mem.*` source files.
62+
63+
Commit c84a990 on 2016-12-17 by Christoph Lipka
64+
65+
Minor changes to Visual Studio projects for easier official release
66+
builds.
67+
68+
Commit f233f60 on 2016-12-17 by Christoph Lipka
69+
70+
Amendment to previous commit.
71+
72+
Commit d96b54f on 2016-12-17 by Christoph Lipka
73+
74+
Amputated remnants of some legacy features.
75+
76+
Commit a535aaf on 2016-12-16 by Christoph Lipka
77+
78+
[ci skip] Add tools for generating the Windows help file to the repo.
79+
80+
Commit 5f89d41 on 2016-12-15 by Christoph Lipka
81+
82+
Update revision.txt.
83+
84+
Commit b4d0b88 on 2016-12-15 by Christoph Lipka
85+
86+
Fix two recently introduced parser bugs, one of which tripped the Unix
87+
build tests.
88+
89+
Commit a04d241 on 2016-12-15 by Christoph Lipka
90+
91+
Update to the Git pre-commit hook.
92+
93+
Commit 983ab18 on 2016-12-15 by Christoph Lipka
94+
95+
Fix some issues discovered by static code analysis.
96+
97+
Commit f814383 on 2016-12-14 by Christoph Lipka
98+
99+
Improved behaviour of media with respect to large distances or high
100+
densities (method 3 only).
101+
102+
Commit 1968b7d on 2016-12-13 by Christoph Lipka
103+
104+
Disable bidirectional brilliance for now, due to it probably becoming
105+
obsolete soon anyway.
106+
107+
Commit e47718e on 2016-12-13 by Christoph Lipka
108+
109+
Canonicalize file paths in insert menu snippets and sample scenes to
110+
use forward slashes.
111+
112+
Commit 30dac78 on 2016-12-13 by Christoph Lipka
113+
114+
Disable Wavefront OBJ import for now, due to the syntax definitely not
115+
being final.
116+
117+
Commit e51eec7 on 2016-12-13 by Christoph Lipka
118+
119+
Fix GitHub issue #161 and closely related potential trouble.
120+
121+
Commit 6671b3e on 2016-12-13 by Christoph Lipka
122+
123+
Update change log.
124+
33125
Commit 2e6787a on 2016-12-12 by Christoph Lipka
34126

35127
Address GitHub issue #160 by including round, square and angle brackets

source/backend/configbackend.h

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,6 @@
5656
#define POVRAY_PLATFORM_NAME "Unknown Platform"
5757
#endif
5858

59-
/// @def COMPILER_VER
60-
/// Compiler moniker string.
61-
///
62-
#ifndef COMPILER_VER
63-
#define COMPILER_VER ".u"
64-
#endif
65-
6659
/// @def POV_USE_DEFAULT_TASK_INITIALIZE
6760
/// Whether to use a default implementation for task thread initialization.
6861
///
@@ -91,17 +84,13 @@
9184
/// @note
9285
/// The result must be a genuine UCS2 string. UCS4/Unicode characters outside the Base Multilingual Plane
9386
/// are not supported.
94-
/// @note
95-
/// It is unspecified whether the input byte sequence is null-terminated or not, and may in fact contain
96-
/// a sequence of null-separated strings. The result string should be null-separated accordingly.
9787
///
98-
/// @param[in] ts Byte sequence to convert.
99-
/// @param[in] tsl Byte sequence length.
88+
/// @param[in] ts Null-terminated byte sequence to convert.
10089
/// @param[out] as Number of UCS2 characters in result.
101-
/// @return Converted UCS2 character sequence, or `NULL` if conversion is not supported.
90+
/// @return Converted null-terminated UCS2 character sequence, or `NULL` if conversion is not supported.
10291
///
10392
#ifndef POV_CONVERT_TEXT_TO_UCS2
104-
#define POV_CONVERT_TEXT_TO_UCS2(ts, tsl, as) (NULL)
93+
#define POV_CONVERT_TEXT_TO_UCS2(ts, as) (NULL)
10594
#endif
10695

10796
//******************************************************************************

0 commit comments

Comments
 (0)