<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<title>CodeProject: Achieving PostScript and Wmf outputs for OpenGL. Free source code and programming help</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Description" content="This article explains how to generate resolution independent versions of 3D meshes rendered by OpenGL/MFC programs, i.e. how to export the rendering results to vectorial formats such as encapsulated postscript (EPS) and Windows enhanced metafile (EMF) formats. The main goal consists of being able to; Author: Pierre Alliez; Section: OpenGL; Chapter: Multimedia">
<meta name="Keywords" content="VC6, NT4, Win2K, VS6, MFC, OpenGL, Dev, Intermediate,OpenGL,Multimedia,Free source code, tutorials">
<meta name="Author" content="The Code Project">
<meta name="Rating" content="General">
<meta name="Robots" content="index, follow">
<meta name="Revisit-After" content="1 days">
<link rel="alternate" type="application/rss+xml" title="CodeProject Lounge Postings" href="http://www.codeproject.com/webservices/LoungeRSS.aspx">
<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - All topics" href="http://www.codeproject.com/webservices/articlerss.aspx?cat=1">
<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - MFC / C++" href="http://www.codeproject.com/webservices/articlerss.aspx?cat=2">
<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - C#" href="http://www.codeproject.com/webservices/articlerss.aspx?cat=3">
<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - ASP.NET" href="http://www.codeproject.com/webservices/articlerss.aspx?cat=4">
<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - .NET" href="http://www.codeproject.com/webservices/articlerss.aspx?cat=5">
<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - VB.NET" href="http://www.codeproject.com/webservices/articlerss.aspx?cat=6">
<link rel="search" type="application/opensearchdescription+xml" title="CodeProject" href="http://www.codeproject.com/info/OpenSearch.xml">
<link rel="stylesheet" type="text/css" href="glexport.aspx_files/CodeProject.css">
<link rel="stylesheet" type="text/css" href="glexport.aspx_files/ForumClassic.css">
<!-- base -->
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script><script src="glexport.aspx_files/ga.js" type="text/javascript"></script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-1735123-1");
pageTracker._setDomainName("www.codeproject.com");
pageTracker._setSessionTimeout("1200"); // 20 mins
pageTracker._initData();
pageTracker._trackPageview();
</script>
<script type="text/javascript" language="Javascript" src="glexport.aspx_files/oncopy.js"></script>
<script type="text/javascript" language="Javascript" src="glexport.aspx_files/jxs.js"></script>
<script type="text/javascript" language="Javascript" src="glexport.aspx_files/bookmark.js"></script>
<script type="text/javascript" language="Javascript" src="glexport.aspx_files/rateitem.js"></script>
<script type="text/javascript" language="Javascript">//<![CDATA[
function ToggleMenu(itemName)
{
var elm = document.getElementById(itemName);
var i,others = document.getElementById('SectionMenu');
for(i=0; i < others.childNodes.length; i++)
{
var other = others.childNodes[i];
if ((other.className == 'MenuSectionBlock') && (other != elm))
other.style.display='none';
}
if (elm.style.display == 'block') elm.style.display='none';
else elm.style.display='block';
return false;
}
//]]></script>
<script type="text/javascript" language="Javascript" src="glexport.aspx_files/addto.js"></script>
<script type="text/javascript" language="Javascript">//<![CDATA[
function MsgVoteForm(MemberID,MsgID,GB,gp,bp,mt) {
if(!GB)document.write("Rate this message: ");
document.write(unescape("%3Ca href=\"#xx" + MsgID.toString() + "xx\" onclick=\"RateMsg(" + MemberID.toString() + ", " + MsgID.toString() + ","));document.write((GB?"5":"1")+unescape(");\"%3E"));
if(GB) document.write(unescape("%3Cimg height=\"24\" width=\"24\" src=\"/script/Forums/Images/good.png\" alt=\"good\" border=\"0\" align=\"absmiddle\" /%3E "+gp+" "+mt+"%3C/a%3E "));
else document.write(unescape("%3Cimg height=\"14\" width=\"14\" src=\"/script/Forums/Images/thumbs_down.gif\" alt=\"vote 1\" border=\"0\" align=\"middle\" /%3E%3C/a%3E "));
if(GB)document.write(" "); else for(var i=1; i<=5;i++)
document.write(unescape("%3Ca class=\"Frm_MHL\" href=\"#xx" + MsgID.toString() + "xx\" title=\"vote this message a " + i.toString() + "\" onclick=\"RateMsg(" + MemberID.toString() + ", " + MsgID.toString() + ", " + i.toString() + ")\"%3E%3Cb%3E" + i.toString() + "%3C/b%3E%3C/a%3E "));
document.write(unescape("%3Ca href=\"#xx" + MsgID.toString() + "xx\" onclick=\"RateMsg(" + MemberID.toString() + ", " + MsgID.toString() + ","));document.write((GB?"1":"5")+unescape(");\"%3E"));
if(GB)document.write(unescape("%3Cimg height=\"24\" width=\"24\" src=\"/script/Forums/Images/bad.png\" alt=\"bad\" border=\"0\" align=\"absmiddle\" /%3E "+bp+" "+mt+"%3C/a%3E"));
else document.write(unescape("%3Cimg height=\"14\" width=\"14\" src=\"/script/Forums/Images/thumbs_up.gif\" border=\"0\" alt=\"vote 5\" align=\"middle\" /%3E%3C/a%3E "));
}
function ReportMsg(userid, msgid, score) {
if (confirm("Are you sure you want to report this message?") == true)
return RateMsg(userid, msgid, score);
else return false;
}
function RateMsg(memberid, msgid, score) {
var req = new XMLHttpRequest();
req.onreadystatechange = function() {
if (req.readyState == 4) {
if ( req.status == 200 ) {
var respText = req.responseText;
var re = new RegExp(unescape("\%3Cdiv\%3E([^\%3C]*)\%3C/div\%3E"), "g");
var match = re.exec(respText);
voteStatus.innerHTML = unescape("%3Cb%3E") + (match)?match[1]:"An error occured" + unescape("%3C/b%3E");
}
else
{
voteStatus.innerHTML = unescape("%3Cb style='color:red'%3EFailed!") + req.statusText + unescape("%3C/b%3E");
}
}
}
var voteStatus = document.getElementById("MVF" + msgid);
if (!voteStatus) return;
voteStatus.innerHTML = unescape("%3Cb style='color:green'%3EVoting...%3C/b%3E");
var strAction = "/script/Forums/Vote.aspx?js=1&fmid="+memberid.toString()+"&select="+msgid.toString()+"&score="+score.toString();
req.open("GET", strAction, true);
req.send(null);
return false;
}
//]]></script>
<script type="text/javascript" language="Javascript">//<![CDATA[
var Selected = "-1";
function SwitchMessage(e, msgId)
{
if (!msgId) {
if(!e)e=window.event;
var target=e.target?e.target:e.srcElement;
while(target&&target.id!='DynMessLink')target=target.parentNode;
if(!target||target.id!='DynMessLink')return;
msgId=target.name;
}
if(Selected&&Selected!=""){
var body=eval("document.getElementById('F" + Selected + "_h1')");
if(body) body.style.display = 'none';
var head=eval("document.getElementById('F" + Selected + "_h0')");
if(head) head.className = head.className.replace("Sel", "UnSel");
}
if(Selected==msgId.toString())
Selected="";
else {
Selected=msgId.toString();
var body=eval("document.getElementById('F" + Selected + "_h1')");
if(body){
if(body.style.display=='none') body.style.display='';
else body.style.display = 'none';
}
var head=eval("document.getElementById('F" + Selected + "_h0')");
if (head)
head.className = head.className.replace("UnSel", "Sel");
没有合适的资源?快使用搜索试试~ 我知道了~
OpenGL-EPS-WMF-Output.rar_PostScript_emf_mfc metafile_opengl eps
共84个文件
gif:34个
js:16个
png:15个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 109 浏览量
2022-09-21
08:22:24
上传
评论
收藏 1.24MB RAR 举报
温馨提示
这个文章和附件中的代码实现如何将OpenGL/MFC程序输出到 encapsulated postscript (EPS)和Windows enhanced metafile (EMF)文件格式。最终的目标是能够产生可以编辑、打印和展示的适量图形文件。
资源详情
资源评论
资源推荐
收起资源包目录
OpenGL-EPS-WMF-Output.rar (84个子文件)
samples_eps.zip 417KB
glexport.aspx_files
wmf2eps.jpg 88KB
logo225x90.gif 7KB
ForumClassic.css 7KB
oncopy.js 1KB
ServeThirdParty_data
InsertFlash.js 3KB
pageid2697342678.js 301B
AddTo_Simpy.png 595B
ServeThirdParty_data_003
pageid8110214631.js 803B
ServeThirdParty_003.htm 2KB
t.gif 43B
print.gif 186B
t_002.gif 43B
CodeProject.css 25KB
AddTo_Technorati.png 468B
menu132_com.js 22KB
msg_joke.gif 659B
ajax-loader.gif 673B
pollcol.gif 134B
rendering.jpg 76KB
msg_answer.gif 955B
AddTo_Reddit.png 800B
forum_newmsg.gif 1KB
smiley_tongue.gif 688B
TopNavBar.js 5KB
subdivision.jpg 97KB
AddTo_Furl.png 974B
member_sm.gif 133B
mdi.jpg 47KB
smiley_cool.gif 1016B
msg_rant.gif 1023B
TogglePre.js 3KB
ServeThirdParty_004.htm 2KB
staff_sm.gif 561B
FR.gif 366B
ga.js 20KB
AddTo_stumbleupon.png 1KB
silverlight_20.jpg 699B
smiley_frown.gif 215B
smiley_redface.gif 2KB
AddTo_Live.png 1KB
rateitem.js 2KB
minus.gif 846B
usersuss.gif 109B
msg_news.gif 958B
ServeThirdParty_data_004
pageid758933424.js 778B
AddTo_Google.png 1KB
fave.gif 267B
ServeThirdParty_005.htm 1KB
AddTo_Blink.png 966B
discuss.gif 286B
red.gif 77B
thumbs_down.gif 576B
forum_search.gif 974B
ServeThirdParty.htm 1KB
AddTo_Digg.png 940B
t.htm 1KB
prize_winner.gif 550B
msg_admin.gif 1020B
mail.gif 270B
jxs.js 4KB
bookmark.js 2KB
AddTo_Delicious.png 222B
thumbs_up.gif 572B
ServeThirdParty_data_002
pageid7496773471.js 308B
addto.js 5KB
report.gif 144B
ShortCuts.js 4KB
ServeThirdParty_002.htm 1KB
AddTo_Newsvine.png 131B
z_sorting.jpg 57KB
msg_general.gif 923B
AddTo_Facebook.png 959B
summary.jpg 48KB
link.png 3KB
ServeThirdParty_data_005
pageid5211281922.js 325B
AddTo_Yahoo.png 968B
forum_faq.gif 1000B
AddTo_MrWong.png 642B
smiley_laugh.gif 1KB
toolbar.jpg 32KB
msg_question.gif 1KB
glexport.aspx.htm 208KB
gl_export.zip 356KB
共 84 条
- 1
寒泊
- 粉丝: 74
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- PHP库通过返回原始SQL来实现ActiveRecord 用于PHP5.3和NO PDO场景的yii2 ORM移植
- 5152单片机proteus仿真和源码用数组作函数参数控制流水花样
- 2024年全域电商矩阵109节线上课-课程网盘链接提取码下载 .txt
- 对 sqlite 的使用进行简单封装,仅涉及简单的单表 增删改查,基于 FMDB, 操作基于 model
- 5152单片机proteus仿真和源码用函数型指针控制P1口灯花样
- 对Hibernate框架的二次封装,简化对数据库的操作
- 5152单片机proteus仿真和源码用定时器T1查询方式控制单片机发出1KHz音频
- 由 Top10 开发和使用的惯用 Scala Redis 客户端 这是一项正在进行的工作,虽然在生产中使用,但应将其视为在生产中
- SwiftUI - SceanAppDelegate
- SwiftUI - AppDelegate
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0