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

Conversation

trevorsandy
Copy link

@trevorsandy trevorsandy commented Apr 14, 2017

I've taken some time to update the Windows CUI (Console) project. The image display window is now functional and the disp_sdl source has been updated to use SDL2 v2.0.5.

Updated Windows Console User Interface (CUI) POV-Ray build, including:
- Port Unix CUI functionality to Windows project
- SDL2 image display window (Using SDL2 v2.0.5)
- Options processor class
- Benchmark, help and version options
- Detailed console output_iterator 
- Uses povray.conf just as Unix build 
- Console signal management
- GUI and CUI AppVeyor CI
- Build POV-Ray CUI and GUI projects from the command line
- Additional features...

/// Updated files
/////////////////////////////////////////////////////
1.  .gitignore.............../
2.  appveyor.yml............./
3.  console.vcxproj........../windows/vs2015
4.  console.vcxproj.filters../windows/vs2015
5.  vfewin.vcxproj.........../windows/vs2015
6.  vfewin.vcxproj.filters.../windows/vs2015
7.  openexr_eLut.vcxproj...../windows/vs2015
8.  openexr_toFloat.vcxproj../windows/vs2015
9.  povray.sln.............../windows/vs2015
10. syspovconfig.h.........../windows/povconfig
11. vfeplatform.cpp........../vfe/win
12. vfeplatform.h............/vfe/win
13. disp.h.................../windows...........(New) 
14. disp_sdl.cpp............./windows...........(New) 
15. disp_sdl.h.............../windows...........(New) 
16. disp_text.h............../windows...........(New) 
17. disp_text.cpp............/windows...........(New) 
18. winconsole.cpp.........../vfe/win/console
19. winoptions.cpp.........../vfe/win/console...(New)
20. winoptions.h............./vfe/win/console...(New)
21. CUI_README.txt.........../windows...........(New)
22. autobuild.cmd............/windows/vs2015....(New)
23. autobuild_defs.cmd......./windows/vs2015....(New)
24. SDL2.vcxproj............./windows/vs2015....(New)
25. SDL2_vcxproj.filters...../windows/vs2015....(New)
26. SDL2Main.vcxproj........./windows/vs2015....(New)

Update - Aug 13:

Note: 503 added files make up the SDL2 Windows and Unix (including MacOS) source. 8 new source files have been added to the windows-cui project.

TODO:

  • On Windows, I have not yet been successful to process interrupt signals passed to the console - e.g. pause, resume and quit. I think the issue is linked with the way SDL creates and uses the WinMain entry point (using SDL_Main) to manage the Windows GUI display screen...
  • On MacOS, the current disp_sdl code (v1.2.15) does not launch the display window; however, execution seems to be without issue. The display window is created, it is just not persisted to the screen. In the next few days I'll see how v2.0.15 behaves as there are some new capabilities that may better support generating the display window on MacOS. This behaviour seems to be corrected with SDL2.

Cheers,

trevorsandy and others added 30 commits April 14, 2017 02:21
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.
Also updated sample scenes and include files accordingly.
- When compiled in debug mode, a new statement `#breakpoint` is now available. Its sole purpose is to serve as a hook for a breakpoint, which can then be triggered anytime from the scene file.
- When compiled in debug mode, POV-Ray for Windows will now make do with the release version of the editor DLLs if it can't find the debug version.
Replaced the various redundant representations of the version number as authoritative sources of information with a set of integers, each one corresponding to a single numerical field of the version number. Any other representations of the version number are now automatically derived from these (plus the prerelease tag, if applicable).

Also added a mechanism that allows v3.8 binaries to run on top of a v3.7 host installation for now, so that we don't need any 3.8 installers yet.

Note that this commit comes with an updated Git pre-commit hook; to install it, copy `pre-commit` from `tools/git/hooks/` to `.git/hooks/` in your local repository.
Ported from unix distro. Upgrade disp_sdl source to support SDL2 v2.0.5
c-lipka and others added 18 commits August 18, 2017 14:53
Specifying `--generation` as a command-line parameter will cause POV-Ray for Unix to print its "generation" and beta status (if applicable) to standard output, then exit. For example, for v3.8.1 this would be `3.8`; for a beta version of that release, it would be `3.8-beta`.
When version is explicitly set to 3.8 or greater, either in the option or as the first statement of the scene, the default ambient finish is set to 0.0 (instead of 0.1 which is problematic with gamma handling rgb vs srgb)
- allow the center of the top sphere to not be on the top of the bottom sphere (via "distance xxx")
- allow the radius of the torus spindle to be manually specified (via "radius xxx")
- allow precision of the root solver to be tuned (via "precision xxx")
- change of UV-Mapping to be similar to the uv-mapping of cone & cylinder
Spaces, single and double quoted arguments are tokenized on Windows frontend.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants